├── Backend
├── .env
├── .htaccess
├── Readme.md
├── backend
│ ├── .htaccess
│ ├── bootstrap.php
│ ├── config
│ │ ├── Controller.php
│ │ ├── Core.php
│ │ ├── DB.php
│ │ └── Middleware.php
│ ├── controllers
│ │ ├── Auth.php
│ │ ├── Reservation.php
│ │ └── User.php
│ ├── models
│ │ ├── AuthModel.php
│ │ ├── ReservationModel.php
│ │ └── UserModel.php
│ └── view
│ │ └── index.php
├── composer.json
├── composer.lock
├── public
│ ├── .htaccess
│ └── index.php
└── vendor
│ ├── autoload.php
│ ├── composer
│ ├── ClassLoader.php
│ ├── InstalledVersions.php
│ ├── LICENSE
│ ├── autoload_classmap.php
│ ├── autoload_files.php
│ ├── autoload_namespaces.php
│ ├── autoload_psr4.php
│ ├── autoload_real.php
│ ├── autoload_static.php
│ ├── installed.json
│ ├── installed.php
│ └── platform_check.php
│ ├── firebase
│ └── php-jwt
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── src
│ │ ├── BeforeValidException.php
│ │ ├── ExpiredException.php
│ │ ├── JWK.php
│ │ ├── JWT.php
│ │ └── SignatureInvalidException.php
│ ├── fpdf
│ ├── FAQ.htm
│ ├── changelog.htm
│ ├── doc
│ │ ├── __construct.htm
│ │ ├── acceptpagebreak.htm
│ │ ├── addfont.htm
│ │ ├── addlink.htm
│ │ ├── addpage.htm
│ │ ├── aliasnbpages.htm
│ │ ├── cell.htm
│ │ ├── close.htm
│ │ ├── error.htm
│ │ ├── footer.htm
│ │ ├── getpageheight.htm
│ │ ├── getpagewidth.htm
│ │ ├── getstringwidth.htm
│ │ ├── getx.htm
│ │ ├── gety.htm
│ │ ├── header.htm
│ │ ├── image.htm
│ │ ├── index.htm
│ │ ├── line.htm
│ │ ├── link.htm
│ │ ├── ln.htm
│ │ ├── multicell.htm
│ │ ├── output.htm
│ │ ├── pageno.htm
│ │ ├── rect.htm
│ │ ├── setauthor.htm
│ │ ├── setautopagebreak.htm
│ │ ├── setcompression.htm
│ │ ├── setcreator.htm
│ │ ├── setdisplaymode.htm
│ │ ├── setdrawcolor.htm
│ │ ├── setfillcolor.htm
│ │ ├── setfont.htm
│ │ ├── setfontsize.htm
│ │ ├── setkeywords.htm
│ │ ├── setleftmargin.htm
│ │ ├── setlinewidth.htm
│ │ ├── setlink.htm
│ │ ├── setmargins.htm
│ │ ├── setrightmargin.htm
│ │ ├── setsubject.htm
│ │ ├── settextcolor.htm
│ │ ├── settitle.htm
│ │ ├── settopmargin.htm
│ │ ├── setx.htm
│ │ ├── setxy.htm
│ │ ├── sety.htm
│ │ ├── text.htm
│ │ └── write.htm
│ ├── font
│ │ ├── courier.php
│ │ ├── courierb.php
│ │ ├── courierbi.php
│ │ ├── courieri.php
│ │ ├── helvetica.php
│ │ ├── helveticab.php
│ │ ├── helveticabi.php
│ │ ├── helveticai.php
│ │ ├── symbol.php
│ │ ├── times.php
│ │ ├── timesb.php
│ │ ├── timesbi.php
│ │ ├── timesi.php
│ │ └── zapfdingbats.php
│ ├── fpdf.css
│ ├── fpdf.php
│ ├── install.txt
│ ├── license.txt
│ ├── makefont
│ │ ├── cp1250.map
│ │ ├── cp1251.map
│ │ ├── cp1252.map
│ │ ├── cp1253.map
│ │ ├── cp1254.map
│ │ ├── cp1255.map
│ │ ├── cp1257.map
│ │ ├── cp1258.map
│ │ ├── cp874.map
│ │ ├── iso-8859-1.map
│ │ ├── iso-8859-11.map
│ │ ├── iso-8859-15.map
│ │ ├── iso-8859-16.map
│ │ ├── iso-8859-2.map
│ │ ├── iso-8859-4.map
│ │ ├── iso-8859-5.map
│ │ ├── iso-8859-7.map
│ │ ├── iso-8859-9.map
│ │ ├── koi8-r.map
│ │ ├── koi8-u.map
│ │ ├── makefont.php
│ │ └── ttfparser.php
│ └── tutorial
│ │ ├── 20k_c1.txt
│ │ ├── 20k_c2.txt
│ │ ├── calligra.php
│ │ ├── calligra.ttf
│ │ ├── calligra.z
│ │ ├── countries.txt
│ │ ├── index.htm
│ │ ├── logo.png
│ │ ├── makefont.php
│ │ ├── tuto1.htm
│ │ ├── tuto1.php
│ │ ├── tuto2.htm
│ │ ├── tuto2.php
│ │ ├── tuto3.htm
│ │ ├── tuto3.php
│ │ ├── tuto4.htm
│ │ ├── tuto4.php
│ │ ├── tuto5.htm
│ │ ├── tuto5.php
│ │ ├── tuto6.htm
│ │ ├── tuto6.php
│ │ ├── tuto7.htm
│ │ └── tuto7.php
│ ├── graham-campbell
│ └── result-type
│ │ ├── LICENSE
│ │ ├── composer.json
│ │ └── src
│ │ ├── Error.php
│ │ ├── Result.php
│ │ └── Success.php
│ ├── phpoption
│ └── phpoption
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── composer.json
│ │ └── src
│ │ └── PhpOption
│ │ ├── LazyOption.php
│ │ ├── None.php
│ │ ├── Option.php
│ │ └── Some.php
│ ├── symfony
│ ├── polyfill-ctype
│ │ ├── Ctype.php
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── bootstrap.php
│ │ ├── bootstrap80.php
│ │ └── composer.json
│ ├── polyfill-mbstring
│ │ ├── LICENSE
│ │ ├── Mbstring.php
│ │ ├── README.md
│ │ ├── Resources
│ │ │ └── unidata
│ │ │ │ ├── lowerCase.php
│ │ │ │ ├── titleCaseRegexp.php
│ │ │ │ └── upperCase.php
│ │ ├── bootstrap.php
│ │ ├── bootstrap80.php
│ │ └── composer.json
│ └── polyfill-php80
│ │ ├── LICENSE
│ │ ├── Php80.php
│ │ ├── README.md
│ │ ├── Resources
│ │ └── stubs
│ │ │ ├── Attribute.php
│ │ │ ├── Stringable.php
│ │ │ ├── UnhandledMatchError.php
│ │ │ └── ValueError.php
│ │ ├── bootstrap.php
│ │ └── composer.json
│ └── vlucas
│ └── phpdotenv
│ ├── LICENSE
│ ├── composer.json
│ └── src
│ ├── Dotenv.php
│ ├── Exception
│ ├── ExceptionInterface.php
│ ├── InvalidEncodingException.php
│ ├── InvalidFileException.php
│ ├── InvalidPathException.php
│ └── ValidationException.php
│ ├── Loader
│ ├── Loader.php
│ ├── LoaderInterface.php
│ └── Resolver.php
│ ├── Parser
│ ├── Entry.php
│ ├── EntryParser.php
│ ├── Lexer.php
│ ├── Lines.php
│ ├── Parser.php
│ ├── ParserInterface.php
│ └── Value.php
│ ├── Repository
│ ├── Adapter
│ │ ├── AdapterInterface.php
│ │ ├── ApacheAdapter.php
│ │ ├── ArrayAdapter.php
│ │ ├── EnvConstAdapter.php
│ │ ├── GuardedWriter.php
│ │ ├── ImmutableWriter.php
│ │ ├── MultiReader.php
│ │ ├── MultiWriter.php
│ │ ├── PutenvAdapter.php
│ │ ├── ReaderInterface.php
│ │ ├── ReplacingWriter.php
│ │ ├── ServerConstAdapter.php
│ │ └── WriterInterface.php
│ ├── AdapterRepository.php
│ ├── RepositoryBuilder.php
│ └── RepositoryInterface.php
│ ├── Store
│ ├── File
│ │ ├── Paths.php
│ │ └── Reader.php
│ ├── FileStore.php
│ ├── StoreBuilder.php
│ ├── StoreInterface.php
│ └── StringStore.php
│ ├── Util
│ ├── Regex.php
│ └── Str.php
│ └── Validator.php
├── README.md
└── VueApp
├── .browserslistrc
├── .env
├── .eslintrc.js
├── .gitignore
├── README.md
├── babel.config.js
├── package-lock.json
├── package.json
├── public
├── favicon.ico
└── index.html
└── src
├── App.vue
├── assets
├── LoginImg.svg
├── RegisterImg.svg
├── auth.svg
├── logo.png
└── med1.svg
├── components
├── Auth
│ ├── Authorized.vue
│ ├── Login.vue
│ └── Register.vue
├── Collapsible.vue
├── Footer.vue
└── Header.vue
├── hooks
├── Api.js
└── checkAuth.js
├── main.js
├── router
└── index.js
├── store
└── index.js
└── views
├── Add.vue
├── AuthPage.vue
├── Contact.vue
├── Dashboard.vue
├── Delete.vue
├── Home.vue
└── Update.vue
/Backend/.env:
--------------------------------------------------------------------------------
1 | USER_KEY=bhqM5O0/ilYkGcuUGrMaYLqq5cT/6XL3jHRaTpewYsM
2 |
3 | DB_HOST=localhost
4 | DB_USER=root
5 | DB_PASS=
6 | DB_NAME=quickrd
--------------------------------------------------------------------------------
/Backend/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | RewriteEngine on
3 | RewriteRule ^$ public/ [L]
4 | RewriteRule (.*) public/$1 [L]
5 |
--------------------------------------------------------------------------------
/Backend/Readme.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Backend/backend/.htaccess:
--------------------------------------------------------------------------------
1 | Options -Indexes
2 |
--------------------------------------------------------------------------------
/Backend/backend/bootstrap.php:
--------------------------------------------------------------------------------
1 | getUrl();
18 | if ($url?file_exists('../backend/controllers/' . ucwords($url[0]) . '.php'):null) {
19 | $this->Controller = ucwords($url[0]);
20 | unset($url[0]);
21 | }
22 |
23 | require_once '../backend/controllers/' . $this->Controller . '.php';
24 | $this->Controller = new $this->Controller;
25 |
26 | if (isset($url[1])) {
27 | if (method_exists($this->Controller, $url[1])) {
28 | $this->Method = $url[1];
29 | unset($url[1]);
30 | }
31 | }
32 |
33 | $this->Controller->data = file_get_contents("php://input") ? file_get_contents("php://input") : [];
34 | $this->params = $url ? array_values($url) : [];
35 |
36 | call_user_func_array([$this->Controller, $this->Method], $this->params);
37 |
38 | }
39 |
40 | public function getUrl()
41 | {
42 | if (isset($_GET['url'])) {
43 | $url = rtrim($_GET['url'], '/');
44 | $url = filter_var($url, FILTER_SANITIZE_URL);
45 | $url = explode('/', $url);
46 | return $url;
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Backend/backend/config/DB.php:
--------------------------------------------------------------------------------
1 | load();
8 |
9 | class DB
10 | {
11 | // private $host = $_ENV['DB_HOST'];
12 | // private $user = $_ENV['DB_USER'];
13 | // private $pass = $_ENV['DB_PASS'];
14 | // private $dbname = $_ENV['DB_NAME'];
15 |
16 | private $conn;
17 | private $stmt;
18 | private $error;
19 |
20 | public function __construct()
21 | {
22 | $connection = 'mysql:host=' . $_ENV['DB_HOST'] . ';dbname=' . $_ENV['DB_NAME'];
23 | $optins = array(
24 | PDO::ATTR_PERSISTENT => true,
25 | PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
26 | );
27 |
28 | try {
29 | $this->conn = new PDO($connection, $_ENV['DB_USER'], $_ENV['DB_PASS'], $optins);
30 | } catch (PDOExeption $err) {
31 | $this->error = $err->getMessage();
32 | echo $this->error;
33 | }
34 |
35 | }
36 |
37 | public function query($sql)
38 | {
39 | $this->stmt = $this->conn->prepare($sql);
40 | }
41 |
42 | public function bind($param, $value, $type = null)
43 | {
44 | if (is_null($type)) {
45 | switch (true) {
46 | case is_int($value):
47 | $type = PDO::PARAM_INT;
48 | break;
49 | case is_bool($value):
50 | $type = PDO::PARAM_BOOL;
51 | break;
52 | case is_null($value):
53 | $type = PDO::PARAM_NULL;
54 | break;
55 | default:
56 | $type = PDO::PARAM_STR;
57 | }
58 | }
59 | $this->stmt->bindValue($param, $value, $type);
60 | }
61 |
62 | public function execute()
63 | {
64 | return $this->stmt->execute();
65 | }
66 |
67 | public function all()
68 | {
69 | $this->execute();
70 | return $this->stmt->fetchAll(PDO::FETCH_OBJ);
71 | }
72 |
73 | public function single()
74 | {
75 | $this->execute();
76 | return $this->stmt->fetch(PDO::FETCH_OBJ);
77 | }
78 |
79 | public function rowCount()
80 | {
81 | return $this->stmt->rowCount();
82 | }
83 |
84 | public function lastInsertId()
85 | {
86 | return $this->dbh->lastInsertId();
87 | }
88 |
89 | }
90 |
--------------------------------------------------------------------------------
/Backend/backend/controllers/User.php:
--------------------------------------------------------------------------------
1 | userModel = $this->model('UserModel');
18 | $this->validator = $this->middleware('Middleware');
19 | }
20 | public function index()
21 | {
22 | $this->view('index');
23 | }
24 |
25 | public function me()
26 | {
27 | $headers = apache_request_headers();
28 | $headers = isset($headers['Authorization']) ? explode(' ', $headers['Authorization']) : null;
29 | if ($headers) {
30 | try {
31 | $info = $this->verifyAuth($headers[1]);
32 | $user = $this->userModel->getUserByid($info->reference);
33 | unset($user->password);
34 | print_r(json_encode($user));
35 |
36 | } catch (\Throwable$th) {
37 | print_r(json_encode(array(
38 | "error" => "unauthorized",
39 | )));
40 | }
41 | } else {
42 | print_r(json_encode(array(
43 | "error" => "unauthorized",
44 | )));
45 | }
46 | }
47 |
48 |
49 |
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/Backend/backend/models/AuthModel.php:
--------------------------------------------------------------------------------
1 | db = new DB();
9 | }
10 |
11 | public function add($refreshToken, $user)
12 | {
13 | try {
14 | $this->db->query("INSERT INTO
15 | Auth
16 | SET
17 | user_ref = :user_ref,
18 | refreshToken = :refreshToken
19 | ");
20 |
21 | $this->db->bind(':refreshToken', $refreshToken);
22 | $this->db->bind(':user_ref', $user);
23 | $this->db->single();
24 |
25 | } catch (\PDOExeption $err) {
26 | return $err->getMessage();
27 | die();
28 | }
29 |
30 | return true;
31 | }
32 |
33 | public function currToken($id)
34 | {
35 | $this->db->query("SELECT * FROM Auth WHERE user_ref = :id ORDER BY id DESC LIMIT 1");
36 | $this->db->bind(':id', $id);
37 | return $this->db->single();
38 | }
39 |
40 | public function expiredToken($id)
41 | {
42 | $this->db->query("DELETE FROM Auth WHERE id = :id");
43 | $this->db->bind(':id', $id);
44 | return $this->db->single();
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/Backend/backend/models/ReservationModel.php:
--------------------------------------------------------------------------------
1 | db = new DB();
8 | }
9 |
10 | public function getMyReservations($user)
11 | {
12 | $this->db->query("SELECT * FROM reservation r,user u WHERE :user=r.user AND r.user=u.reference ORDER BY created_At DESC");
13 |
14 | $this->db->bind(':user', $user);
15 | return $this->db->all();
16 | }
17 |
18 | public function checkAppointment($data)
19 | {
20 | $this->db->query("SELECT * FROM reservation WHERE user = :user && time=:time && day=:day");
21 | $this->db->bind(':user', $data->user);
22 | $this->db->bind(':time', $data->time);
23 | $this->db->bind(':day', $data->day);
24 | return $this->db->all();
25 | }
26 | public function checkDay($data)
27 | {
28 | $this->db->query("SELECT * FROM reservation WHERE day=:day");
29 | $this->db->bind(':day', $data->day);
30 | return $this->db->all();
31 | }
32 | public function getReservations()
33 | {
34 | $this->db->query("SELECT * FROM reservation");
35 | return $this->db->all();
36 | }
37 |
38 | public function getReservationByInfos($data)
39 | {
40 | $this->db->query("SELECT * FROM
41 | reservation WHERE user=:user && time=:time && day=:day");
42 | $this->db->bind(':user', $data->user);
43 | $this->db->bind(':time', $data->time);
44 | $this->db->bind(':day', $data->day);
45 | return $this->db->single();
46 | }
47 |
48 | public function add($data)
49 | {
50 | try {
51 | $this->db->query("INSERT INTO
52 | reservation
53 | SET
54 | user = :user,
55 | time = :time,
56 | day = :day
57 | ");
58 | $this->db->bind(':user', $data->user);
59 | $this->db->bind(':time', $data->time);
60 | $this->db->bind(':day', $data->day);
61 | $this->db->single();
62 | return $this->getReservationByInfos($data);
63 | } catch (\PDOExeption$err) {
64 | return $err->getMessage();
65 | die();
66 | }
67 | return true;
68 | }
69 |
70 | public function delete($id)
71 | {
72 | $this->db->query('DELETE FROM reservation WHERE id=:id');
73 | $this->db->bind(':id', $id);
74 | $this->db->execute();
75 | }
76 |
77 | public function update($id,$time)
78 | {
79 | $this->db->query('UPDATE reservation SET time=:time WHERE id=:id');
80 | $this->db->bind(':id', $id);
81 | $this->db->bind(':time', $time);
82 | $this->db->execute();
83 | }
84 |
85 |
86 | }
87 |
--------------------------------------------------------------------------------
/Backend/backend/models/UserModel.php:
--------------------------------------------------------------------------------
1 | db = new DB();
10 | }
11 |
12 | public function getUsers()
13 | {
14 | $this->db->query("SELECT * FROM user");
15 | return $this->db->all();
16 | }
17 |
18 | public function getUserById($reference)
19 | {
20 | $this->db->query("SELECT * FROM user WHERE reference = :reference");
21 | $this->db->bind(':reference', $reference);
22 | return $this->db->single();
23 | }
24 |
25 | public function getUserByEmail($email)
26 | {
27 | $this->db->query("SELECT * FROM user WHERE email = :email");
28 | $this->db->bind(':email', $email);
29 | return $this->db->single();
30 | }
31 |
32 | public function getEmailById($reference)
33 | {
34 | $this->db->query("SELECT email FROM user WHERE reference = :reference");
35 | $this->db->bind(':reference', $reference);
36 | return $this->db->single();
37 | }
38 |
39 |
40 | public function getUserByRole($role)
41 | {
42 | echo $role;
43 | $this->db->query("SELECT * FROM user WHERE role = :role");
44 | $this->db->bind(':role', $role);
45 | return $this->db->all();
46 | }
47 | public function archiveUser($id)
48 | {
49 | echo $role;
50 | $this->db->query("UPDATE `user` SET `archived`='1' WHERE id=:id");
51 | $this->db->bind(':id', $id);
52 | return $this->db->all();
53 | }
54 |
55 | public function register($data)
56 | {
57 |
58 | try {
59 | $this->db->query("INSERT INTO
60 | user
61 | SET
62 | name = :name,
63 | cin = :cin,
64 | reference = :reference,
65 | email = :email,
66 | password = :password,
67 | phone = :phone
68 | ");
69 | $this->db->bind(':reference', $data->reference);
70 | $this->db->bind(':name', $data->name);
71 | $this->db->bind(':cin', $data->cin);
72 | $this->db->bind(':email', $data->email);
73 | $this->db->bind(':password', $data->password);
74 | $this->db->bind(':phone', $data->phone);
75 | $this->db->single();
76 | } catch (\PDOExeption $err) {
77 | return $err->getMessage();
78 | die();
79 | }
80 | return $this->getUserById($data->reference);
81 | }
82 |
83 |
84 |
85 |
86 | }
87 |
--------------------------------------------------------------------------------
/Backend/backend/view/index.php:
--------------------------------------------------------------------------------
1 | Quick Appoitemnets Backend
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Backend/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "firebase/php-jwt": "^5.2",
4 | "vlucas/phpdotenv": "^5.3"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Backend/public/.htaccess:
--------------------------------------------------------------------------------
1 |
2 | Options -Multiviews
3 | RewriteEngine On
4 | RewriteBase /QuickRd/public
5 | RewriteCond %{REQUEST_FILENAME} !-d
6 | RewriteCond %{REQUEST_FILENAME} !-f
7 | RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Backend/public/index.php:
--------------------------------------------------------------------------------
1 | $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
10 | 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
11 | 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
12 | 'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
13 | 'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
14 | );
15 |
--------------------------------------------------------------------------------
/Backend/vendor/composer/autoload_files.php:
--------------------------------------------------------------------------------
1 | $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
10 | '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
11 | 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
12 | );
13 |
--------------------------------------------------------------------------------
/Backend/vendor/composer/autoload_namespaces.php:
--------------------------------------------------------------------------------
1 | array($vendorDir . '/symfony/polyfill-php80'),
10 | 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
11 | 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
12 | 'PhpOption\\' => array($vendorDir . '/phpoption/phpoption/src/PhpOption'),
13 | 'GrahamCampbell\\ResultType\\' => array($vendorDir . '/graham-campbell/result-type/src'),
14 | 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
15 | 'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'),
16 | );
17 |
--------------------------------------------------------------------------------
/Backend/vendor/composer/autoload_real.php:
--------------------------------------------------------------------------------
1 | = 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32 | if ($useStaticLoader) {
33 | require __DIR__ . '/autoload_static.php';
34 |
35 | call_user_func(\Composer\Autoload\ComposerStaticInit1c3260cfa4cff3800f50c4f7595d8739::getInitializer($loader));
36 | } else {
37 | $map = require __DIR__ . '/autoload_namespaces.php';
38 | foreach ($map as $namespace => $path) {
39 | $loader->set($namespace, $path);
40 | }
41 |
42 | $map = require __DIR__ . '/autoload_psr4.php';
43 | foreach ($map as $namespace => $path) {
44 | $loader->setPsr4($namespace, $path);
45 | }
46 |
47 | $classMap = require __DIR__ . '/autoload_classmap.php';
48 | if ($classMap) {
49 | $loader->addClassMap($classMap);
50 | }
51 | }
52 |
53 | $loader->register(true);
54 |
55 | if ($useStaticLoader) {
56 | $includeFiles = Composer\Autoload\ComposerStaticInit1c3260cfa4cff3800f50c4f7595d8739::$files;
57 | } else {
58 | $includeFiles = require __DIR__ . '/autoload_files.php';
59 | }
60 | foreach ($includeFiles as $fileIdentifier => $file) {
61 | composerRequire1c3260cfa4cff3800f50c4f7595d8739($fileIdentifier, $file);
62 | }
63 |
64 | return $loader;
65 | }
66 | }
67 |
68 | function composerRequire1c3260cfa4cff3800f50c4f7595d8739($fileIdentifier, $file)
69 | {
70 | if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
71 | require $file;
72 |
73 | $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/Backend/vendor/composer/installed.php:
--------------------------------------------------------------------------------
1 |
3 | array (
4 | 'pretty_version' => '1.0.0+no-version-set',
5 | 'version' => '1.0.0.0',
6 | 'aliases' =>
7 | array (
8 | ),
9 | 'reference' => NULL,
10 | 'name' => '__root__',
11 | ),
12 | 'versions' =>
13 | array (
14 | '__root__' =>
15 | array (
16 | 'pretty_version' => '1.0.0+no-version-set',
17 | 'version' => '1.0.0.0',
18 | 'aliases' =>
19 | array (
20 | ),
21 | 'reference' => NULL,
22 | ),
23 | 'firebase/php-jwt' =>
24 | array (
25 | 'pretty_version' => 'v5.2.1',
26 | 'version' => '5.2.1.0',
27 | 'aliases' =>
28 | array (
29 | ),
30 | 'reference' => 'f42c9110abe98dd6cfe9053c49bc86acc70b2d23',
31 | ),
32 | 'graham-campbell/result-type' =>
33 | array (
34 | 'pretty_version' => 'v1.0.1',
35 | 'version' => '1.0.1.0',
36 | 'aliases' =>
37 | array (
38 | ),
39 | 'reference' => '7e279d2cd5d7fbb156ce46daada972355cea27bb',
40 | ),
41 | 'phpoption/phpoption' =>
42 | array (
43 | 'pretty_version' => '1.7.5',
44 | 'version' => '1.7.5.0',
45 | 'aliases' =>
46 | array (
47 | ),
48 | 'reference' => '994ecccd8f3283ecf5ac33254543eb0ac946d525',
49 | ),
50 | 'symfony/polyfill-ctype' =>
51 | array (
52 | 'pretty_version' => 'v1.23.0',
53 | 'version' => '1.23.0.0',
54 | 'aliases' =>
55 | array (
56 | ),
57 | 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce',
58 | ),
59 | 'symfony/polyfill-mbstring' =>
60 | array (
61 | 'pretty_version' => 'v1.23.0',
62 | 'version' => '1.23.0.0',
63 | 'aliases' =>
64 | array (
65 | ),
66 | 'reference' => '2df51500adbaebdc4c38dea4c89a2e131c45c8a1',
67 | ),
68 | 'symfony/polyfill-php80' =>
69 | array (
70 | 'pretty_version' => 'v1.23.0',
71 | 'version' => '1.23.0.0',
72 | 'aliases' =>
73 | array (
74 | ),
75 | 'reference' => 'eca0bf41ed421bed1b57c4958bab16aa86b757d0',
76 | ),
77 | 'vlucas/phpdotenv' =>
78 | array (
79 | 'pretty_version' => 'v5.3.0',
80 | 'version' => '5.3.0.0',
81 | 'aliases' =>
82 | array (
83 | ),
84 | 'reference' => 'b3eac5c7ac896e52deab4a99068e3f4ab12d9e56',
85 | ),
86 | ),
87 | );
88 |
--------------------------------------------------------------------------------
/Backend/vendor/composer/platform_check.php:
--------------------------------------------------------------------------------
1 | = 70103)) {
8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.3". You are running ' . PHP_VERSION . '.';
9 | }
10 |
11 | if ($issues) {
12 | if (!headers_sent()) {
13 | header('HTTP/1.1 500 Internal Server Error');
14 | }
15 | if (!ini_get('display_errors')) {
16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
18 | } elseif (!headers_sent()) {
19 | 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;
20 | }
21 | }
22 | trigger_error(
23 | 'Composer detected issues in your platform: ' . implode(' ', $issues),
24 | E_USER_ERROR
25 | );
26 | }
27 |
--------------------------------------------------------------------------------
/Backend/vendor/firebase/php-jwt/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011, Neuman Vong
2 |
3 | All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 |
11 | * Redistributions in binary form must reproduce the above
12 | copyright notice, this list of conditions and the following
13 | disclaimer in the documentation and/or other materials provided
14 | with the distribution.
15 |
16 | * Neither the name of Neuman Vong nor the names of other
17 | contributors may be used to endorse or promote products derived
18 | from this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
--------------------------------------------------------------------------------
/Backend/vendor/firebase/php-jwt/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "firebase/php-jwt",
3 | "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
4 | "homepage": "https://github.com/firebase/php-jwt",
5 | "keywords": [
6 | "php",
7 | "jwt"
8 | ],
9 | "authors": [
10 | {
11 | "name": "Neuman Vong",
12 | "email": "neuman+pear@twilio.com",
13 | "role": "Developer"
14 | },
15 | {
16 | "name": "Anant Narayanan",
17 | "email": "anant@php.net",
18 | "role": "Developer"
19 | }
20 | ],
21 | "license": "BSD-3-Clause",
22 | "require": {
23 | "php": ">=5.3.0"
24 | },
25 | "autoload": {
26 | "psr-4": {
27 | "Firebase\\JWT\\": "src"
28 | }
29 | },
30 | "require-dev": {
31 | "phpunit/phpunit": ">=4.8 <=9"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/Backend/vendor/firebase/php-jwt/src/BeforeValidException.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | __construct
6 |
7 |
8 |
9 | __construct
10 | __construct([string orientation [, string unit [, mixed size]]])
11 | Description
12 | This is the class constructor. It allows to set up the page size, the orientation and the
13 | unit of measure used in all methods (except for font sizes).
14 | Parameters
15 |
16 | orientation
17 |
18 | Default page orientation. Possible values are (case insensitive):
19 |
20 | P
or Portrait
21 | L
or Landscape
22 |
23 | Default value is P
.
24 |
25 | unit
26 |
27 | User unit. Possible values are:
28 |
29 | pt
: point
30 | mm
: millimeter
31 | cm
: centimeter
32 | in
: inch
33 |
34 | A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This
35 | is a very common unit in typography; font sizes are expressed in that unit.
36 |
37 |
38 | Default value is mm
.
39 |
40 | size
41 |
42 | The size used for pages. It can be either one of the following values (case insensitive):
43 |
44 | A3
45 | A4
46 | A5
47 | Letter
48 | Legal
49 |
50 | or an array containing the width and the height (expressed in the unit given by unit
).
51 |
52 | Default value is A4
.
53 |
54 |
55 | Example
56 | Example with a custom 100x150 mm page size:
57 |
58 |
$pdf = new FPDF('P','mm',array(100,150));
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/acceptpagebreak.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AcceptPageBreak
6 |
7 |
8 |
9 | AcceptPageBreak
10 | boolean AcceptPageBreak()
11 | Description
12 | Whenever a page break condition is met, the method is called, and the break is issued or not
13 | depending on the returned value. The default implementation returns a value according to the
14 | mode selected by SetAutoPageBreak().
15 |
16 | This method is called automatically and should not be called directly by the application.
17 | Example
18 | The method is overriden in an inherited class in order to obtain a 3 column layout:
19 |
20 |
class PDF extends FPDF
21 | {
22 | var $col = 0;
23 |
24 | function SetCol($col)
25 | {
26 | // Move position to a column
27 | $this->col = $col;
28 | $x = 10+$col*65;
29 | $this->SetLeftMargin($x);
30 | $this->SetX($x);
31 | }
32 |
33 | function AcceptPageBreak()
34 | {
35 | if($this->col<2)
36 | {
37 | // Go to next column
38 | $this->SetCol($this->col+1);
39 | $this->SetY(10);
40 | return false;
41 | }
42 | else
43 | {
44 | // Go back to first column and issue page break
45 | $this->SetCol(0);
46 | return true;
47 | }
48 | }
49 | }
50 |
51 | $pdf = new PDF();
52 | $pdf->AddPage();
53 | $pdf->SetFont('Arial','',12);
54 | for($i=1;$i<=300;$i++)
55 | $pdf->Cell(0,5,"Line $i",0,1);
56 | $pdf->Output();
57 |
58 | See also
59 | SetAutoPageBreak
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/addfont.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AddFont
6 |
7 |
8 |
9 | AddFont
10 | AddFont(string family [, string style [, string file]])
11 | Description
12 | Imports a TrueType, OpenType or Type1 font and makes it available. It is necessary to generate a font
13 | definition file first with the MakeFont utility.
14 |
15 | The definition file (and the font file itself when embedding) must be present in the font directory.
16 | If it is not found, the error "Could not include font definition file" is raised.
17 | Parameters
18 |
19 | family
20 |
21 | Font family. The name can be chosen arbitrarily. If it is a standard family name, it will
22 | override the corresponding font.
23 |
24 | style
25 |
26 | Font style. Possible values are (case insensitive):
27 |
28 | empty string: regular
29 | B
: bold
30 | I
: italic
31 | BI
or IB
: bold italic
32 |
33 | The default value is regular.
34 |
35 | file
36 |
37 | The font definition file.
38 |
39 | By default, the name is built from the family and style, in lower case with no space.
40 |
41 |
42 | Example
43 |
44 |
$pdf->AddFont('Comic','I');
45 |
46 | is equivalent to:
47 |
48 |
$pdf->AddFont('Comic','I','comici.php');
49 |
50 | See also
51 | SetFont
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/addlink.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AddLink
6 |
7 |
8 |
9 | AddLink
10 | int AddLink()
11 | Description
12 | Creates a new internal link and returns its identifier. An internal link is a clickable area
13 | which directs to another place within the document.
14 |
15 | The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is
16 | defined with SetLink().
17 | See also
18 | Cell ,
19 | Write ,
20 | Image ,
21 | Link ,
22 | SetLink
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/addpage.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AddPage
6 |
7 |
8 |
9 | AddPage
10 | AddPage([string orientation [, mixed size [, int rotation]]])
11 | Description
12 | Adds a new page to the document. If a page is already present, the Footer() method is called
13 | first to output the footer. Then the page is added, the current position set to the top-left
14 | corner according to the left and top margins, and Header() is called to display the header.
15 |
16 | The font which was set before calling is automatically restored. There is no need to call
17 | SetFont() again if you want to continue with the same font. The same is true for colors and
18 | line width.
19 |
20 | The origin of the coordinate system is at the top-left corner and increasing ordinates go
21 | downwards.
22 | Parameters
23 |
24 | orientation
25 |
26 | Page orientation. Possible values are (case insensitive):
27 |
28 | P
or Portrait
29 | L
or Landscape
30 |
31 | The default value is the one passed to the constructor.
32 |
33 | size
34 |
35 | Page size. It can be either one of the following values (case insensitive):
36 |
37 | A3
38 | A4
39 | A5
40 | Letter
41 | Legal
42 |
43 | or an array containing the width and the height (expressed in user unit).
44 |
45 | The default value is the one passed to the constructor.
46 |
47 | rotation
48 |
49 | Angle by which to rotate the page. It must be a multiple of 90; positive values
50 | mean clockwise rotation. The default value is 0
.
51 |
52 |
53 | See also
54 | __construct ,
55 | Header ,
56 | Footer ,
57 | SetMargins
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/aliasnbpages.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AliasNbPages
6 |
7 |
8 |
9 | AliasNbPages
10 | AliasNbPages([string alias])
11 | Description
12 | Defines an alias for the total number of pages. It will be substituted as the document is
13 | closed.
14 | Parameters
15 |
16 | alias
17 |
18 | The alias. Default value: {nb}
.
19 |
20 |
21 | Example
22 |
23 |
class PDF extends FPDF
24 | {
25 | function Footer()
26 | {
27 | // Go to 1.5 cm from bottom
28 | $this->SetY(-15);
29 | // Select Arial italic 8
30 | $this->SetFont('Arial','I',8);
31 | // Print current and total page numbers
32 | $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
33 | }
34 | }
35 |
36 | $pdf = new PDF();
37 | $pdf->AliasNbPages();
38 |
39 | See also
40 | PageNo ,
41 | Footer
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/close.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Close
6 |
7 |
8 |
9 | Close
10 | Close()
11 | Description
12 | Terminates the PDF document. It is not necessary to call this method explicitly because Output()
13 | does it automatically.
14 |
15 | If the document contains no page, AddPage() is called to prevent from getting an invalid document.
16 | See also
17 | Output
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/error.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Error
6 |
7 |
8 |
9 | Error
10 | Error(string msg)
11 | Description
12 | This method is automatically called in case of a fatal error; it simply throws an exception
13 | with the provided message.
14 | An inherited class may override it to customize the error handling but the method should
15 | never return, otherwise the resulting document would probably be invalid.
16 | Parameters
17 |
18 | msg
19 |
20 | The error message.
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/footer.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Footer
6 |
7 |
8 |
9 | Footer
10 | Footer()
11 | Description
12 | This method is used to render the page footer. It is automatically called by AddPage() and
13 | Close() and should not be called directly by the application. The implementation in FPDF is
14 | empty, so you have to subclass it and override the method if you want a specific processing.
15 | Example
16 |
17 |
class PDF extends FPDF
18 | {
19 | function Footer()
20 | {
21 | // Go to 1.5 cm from bottom
22 | $this->SetY(-15);
23 | // Select Arial italic 8
24 | $this->SetFont('Arial','I',8);
25 | // Print centered page number
26 | $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
27 | }
28 | }
29 |
30 | See also
31 | Header
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/getpageheight.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GetPageHeight
6 |
7 |
8 |
9 | GetPageHeight
10 | float GetPageHeight()
11 | Description
12 | Returns the current page height.
13 | See also
14 | GetPageWidth
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/getpagewidth.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GetPageWidth
6 |
7 |
8 |
9 | GetPageWidth
10 | float GetPageWidth()
11 | Description
12 | Returns the current page width.
13 | See also
14 | GetPageHeight
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/getstringwidth.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GetStringWidth
6 |
7 |
8 |
9 | GetStringWidth
10 | float GetStringWidth(string s)
11 | Description
12 | Returns the length of a string in user unit. A font must be selected.
13 | Parameters
14 |
15 | s
16 |
17 | The string whose length is to be computed.
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/getx.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GetX
6 |
7 |
8 |
9 | GetX
10 | float GetX()
11 | Description
12 | Returns the abscissa of the current position.
13 | See also
14 | SetX ,
15 | GetY ,
16 | SetY
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/gety.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GetY
6 |
7 |
8 |
9 | GetY
10 | float GetY()
11 | Description
12 | Returns the ordinate of the current position.
13 | See also
14 | SetY ,
15 | GetX ,
16 | SetX
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/header.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Header
6 |
7 |
8 |
9 | Header
10 | Header()
11 | Description
12 | This method is used to render the page header. It is automatically called by AddPage() and
13 | should not be called directly by the application. The implementation in FPDF is empty, so
14 | you have to subclass it and override the method if you want a specific processing.
15 | Example
16 |
17 |
class PDF extends FPDF
18 | {
19 | function Header()
20 | {
21 | // Select Arial bold 15
22 | $this->SetFont('Arial','B',15);
23 | // Move to the right
24 | $this->Cell(80);
25 | // Framed title
26 | $this->Cell(30,10,'Title',1,0,'C');
27 | // Line break
28 | $this->Ln(20);
29 | }
30 | }
31 |
32 | See also
33 | Footer
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/line.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Line
6 |
7 |
8 |
9 | Line
10 | Line(float x1, float y1, float x2, float y2)
11 | Description
12 | Draws a line between two points.
13 | Parameters
14 |
15 | x1
16 |
17 | Abscissa of first point.
18 |
19 | y1
20 |
21 | Ordinate of first point.
22 |
23 | x2
24 |
25 | Abscissa of second point.
26 |
27 | y2
28 |
29 | Ordinate of second point.
30 |
31 |
32 | See also
33 | SetLineWidth ,
34 | SetDrawColor
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/link.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Link
6 |
7 |
8 |
9 | Link
10 | Link(float x, float y, float w, float h, mixed link)
11 | Description
12 | Puts a link on a rectangular area of the page. Text or image links are generally put via Cell(),
13 | Write() or Image(), but this method can be useful for instance to define a clickable area inside
14 | an image.
15 | Parameters
16 |
17 | x
18 |
19 | Abscissa of the upper-left corner of the rectangle.
20 |
21 | y
22 |
23 | Ordinate of the upper-left corner of the rectangle.
24 |
25 | w
26 |
27 | Width of the rectangle.
28 |
29 | h
30 |
31 | Height of the rectangle.
32 |
33 | link
34 |
35 | URL or identifier returned by AddLink().
36 |
37 |
38 | See also
39 | AddLink ,
40 | Cell ,
41 | Write ,
42 | Image
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/ln.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ln
6 |
7 |
8 |
9 | Ln
10 | Ln([float h])
11 | Description
12 | Performs a line break. The current abscissa goes back to the left margin and the ordinate
13 | increases by the amount passed in parameter.
14 | Parameters
15 |
16 | h
17 |
18 | The height of the break.
19 |
20 | By default, the value equals the height of the last printed cell.
21 |
22 |
23 | See also
24 | Cell
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/multicell.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | MultiCell
6 |
7 |
8 |
9 | MultiCell
10 | MultiCell(float w, float h, string txt [, mixed border [, string align [, boolean fill]]])
11 | Description
12 | This method allows printing text with line breaks. They can be automatic (as soon as the
13 | text reaches the right border of the cell) or explicit (via the \n character). As many cells
14 | as necessary are output, one below the other.
15 |
16 | Text can be aligned, centered or justified. The cell block can be framed and the background
17 | painted.
18 | Parameters
19 |
20 | w
21 |
22 | Width of cells. If 0
, they extend up to the right margin of the page.
23 |
24 | h
25 |
26 | Height of cells.
27 |
28 | txt
29 |
30 | String to print.
31 |
32 | border
33 |
34 | Indicates if borders must be drawn around the cell block. The value can be either a number:
35 |
36 | 0
: no border
37 | 1
: frame
38 |
39 | or a string containing some or all of the following characters (in any order):
40 |
41 | L
: left
42 | T
: top
43 | R
: right
44 | B
: bottom
45 |
46 | Default value: 0
.
47 |
48 | align
49 |
50 | Sets the text alignment. Possible values are:
51 |
52 | L
: left alignment
53 | C
: center
54 | R
: right alignment
55 | J
: justification (default value)
56 |
57 |
58 | fill
59 |
60 | Indicates if the cell background must be painted (true
) or transparent (false
).
61 | Default value: false
.
62 |
63 |
64 | See also
65 | SetFont ,
66 | SetDrawColor ,
67 | SetFillColor ,
68 | SetTextColor ,
69 | SetLineWidth ,
70 | Cell ,
71 | Write ,
72 | SetAutoPageBreak
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/output.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Output
6 |
7 |
8 |
9 | Output
10 | string Output([string dest [, string name [, boolean isUTF8]]])
11 | Description
12 | Send the document to a given destination: browser, file or string. In the case of a browser, the
13 | PDF viewer may be used or a download may be forced.
14 |
15 | The method first calls Close() if necessary to terminate the document.
16 | Parameters
17 |
18 | dest
19 |
20 | Destination where to send the document. It can be one of the following:
21 |
22 | I
: send the file inline to the browser. The PDF viewer is used if available.
23 | D
: send to the browser and force a file download with the name given by name
.
24 | F
: save to a local file with the name given by name
(may include a path).
25 | S
: return the document as a string.
26 |
27 | The default value is I
.
28 |
29 | name
30 |
31 | The name of the file. It is ignored in case of destination S
.
32 | The default value is doc.pdf
.
33 |
34 | isUTF8
35 |
36 | Indicates if name
is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
37 | Only used for destinations I
and D
.
38 | The default value is false
.
39 |
40 |
41 | See also
42 | Close
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/pageno.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PageNo
6 |
7 |
8 |
9 | PageNo
10 | int PageNo()
11 | Description
12 | Returns the current page number.
13 | See also
14 | AliasNbPages
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/rect.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Rect
6 |
7 |
8 |
9 | Rect
10 | Rect(float x, float y, float w, float h [, string style])
11 | Description
12 | Outputs a rectangle. It can be drawn (border only), filled (with no border) or both.
13 | Parameters
14 |
15 | x
16 |
17 | Abscissa of upper-left corner.
18 |
19 | y
20 |
21 | Ordinate of upper-left corner.
22 |
23 | w
24 |
25 | Width.
26 |
27 | h
28 |
29 | Height.
30 |
31 | style
32 |
33 | Style of rendering. Possible values are:
34 |
35 | D
or empty string: draw. This is the default value.
36 | F
: fill
37 | DF
or FD
: draw and fill
38 |
39 |
40 |
41 | See also
42 | SetLineWidth ,
43 | SetDrawColor ,
44 | SetFillColor
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setauthor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetAuthor
6 |
7 |
8 |
9 | SetAuthor
10 | SetAuthor(string author [, boolean isUTF8])
11 | Description
12 | Defines the author of the document.
13 | Parameters
14 |
15 | author
16 |
17 | The name of the author.
18 |
19 | isUTF8
20 |
21 | Indicates if the string is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
22 | Default value: false
.
23 |
24 |
25 | See also
26 | SetCreator ,
27 | SetKeywords ,
28 | SetSubject ,
29 | SetTitle
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setautopagebreak.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetAutoPageBreak
6 |
7 |
8 |
9 | SetAutoPageBreak
10 | SetAutoPageBreak(boolean auto [, float margin])
11 | Description
12 | Enables or disables the automatic page breaking mode. When enabling, the second parameter is
13 | the distance from the bottom of the page that defines the triggering limit. By default, the
14 | mode is on and the margin is 2 cm.
15 | Parameters
16 |
17 | auto
18 |
19 | Boolean indicating if mode should be on or off.
20 |
21 | margin
22 |
23 | Distance from the bottom of the page.
24 |
25 |
26 | See also
27 | Cell ,
28 | MultiCell ,
29 | AcceptPageBreak
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setcompression.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetCompression
6 |
7 |
8 |
9 | SetCompression
10 | SetCompression(boolean compress)
11 | Description
12 | Activates or deactivates page compression. When activated, the internal representation of
13 | each page is compressed, which leads to a compression ratio of about 2 for the resulting
14 | document.
15 |
16 | Compression is on by default.
17 |
18 |
19 | Note: the Zlib extension is required for this feature. If not present, compression
20 | will be turned off.
21 | Parameters
22 |
23 | compress
24 |
25 | Boolean indicating if compression must be enabled.
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setcreator.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetCreator
6 |
7 |
8 |
9 | SetCreator
10 | SetCreator(string creator [, boolean isUTF8])
11 | Description
12 | Defines the creator of the document. This is typically the name of the application that
13 | generates the PDF.
14 | Parameters
15 |
16 | creator
17 |
18 | The name of the creator.
19 |
20 | isUTF8
21 |
22 | Indicates if the string is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
23 | Default value: false
.
24 |
25 |
26 | See also
27 | SetAuthor ,
28 | SetKeywords ,
29 | SetSubject ,
30 | SetTitle
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setdisplaymode.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetDisplayMode
6 |
7 |
8 |
9 | SetDisplayMode
10 | SetDisplayMode(mixed zoom [, string layout])
11 | Description
12 | Defines the way the document is to be displayed by the viewer. The zoom level can be set: pages can be
13 | displayed entirely on screen, occupy the full width of the window, use real size, be scaled by a
14 | specific zooming factor or use viewer default (configured in the Preferences menu of Adobe Reader).
15 | The page layout can be specified too: single at once, continuous display, two columns or viewer
16 | default.
17 | Parameters
18 |
19 | zoom
20 |
21 | The zoom to use. It can be one of the following string values:
22 |
23 | fullpage
: displays the entire page on screen
24 | fullwidth
: uses maximum width of window
25 | real
: uses real size (equivalent to 100% zoom)
26 | default
: uses viewer default mode
27 |
28 | or a number indicating the zooming factor to use.
29 |
30 | layout
31 |
32 | The page layout. Possible values are:
33 |
34 | single
: displays one page at once
35 | continuous
: displays pages continuously
36 | two
: displays two pages on two columns
37 | default
: uses viewer default mode
38 |
39 | Default value is default
.
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setdrawcolor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetDrawColor
6 |
7 |
8 |
9 | SetDrawColor
10 | SetDrawColor(int r [, int g, int b])
11 | Description
12 | Defines the color used for all drawing operations (lines, rectangles and cell borders). It
13 | can be expressed in RGB components or gray scale. The method can be called before the first
14 | page is created and the value is retained from page to page.
15 | Parameters
16 |
17 | r
18 |
19 | If g
et b
are given, red component; if not, indicates the gray level.
20 | Value between 0 and 255.
21 |
22 | g
23 |
24 | Green component (between 0 and 255).
25 |
26 | b
27 |
28 | Blue component (between 0 and 255).
29 |
30 |
31 | See also
32 | SetFillColor ,
33 | SetTextColor ,
34 | Line ,
35 | Rect ,
36 | Cell ,
37 | MultiCell
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setfillcolor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetFillColor
6 |
7 |
8 |
9 | SetFillColor
10 | SetFillColor(int r [, int g, int b])
11 | Description
12 | Defines the color used for all filling operations (filled rectangles and cell backgrounds).
13 | It can be expressed in RGB components or gray scale. The method can be called before the first
14 | page is created and the value is retained from page to page.
15 | Parameters
16 |
17 | r
18 |
19 | If g
and b
are given, red component; if not, indicates the gray level.
20 | Value between 0 and 255.
21 |
22 | g
23 |
24 | Green component (between 0 and 255).
25 |
26 | b
27 |
28 | Blue component (between 0 and 255).
29 |
30 |
31 | See also
32 | SetDrawColor ,
33 | SetTextColor ,
34 | Rect ,
35 | Cell ,
36 | MultiCell
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setfontsize.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetFontSize
6 |
7 |
8 |
9 | SetFontSize
10 | SetFontSize(float size)
11 | Description
12 | Defines the size of the current font.
13 | Parameters
14 |
15 | size
16 |
17 | The size (in points).
18 |
19 |
20 | See also
21 | SetFont
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setkeywords.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetKeywords
6 |
7 |
8 |
9 | SetKeywords
10 | SetKeywords(string keywords [, boolean isUTF8])
11 | Description
12 | Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.
13 | Parameters
14 |
15 | keywords
16 |
17 | The list of keywords.
18 |
19 | isUTF8
20 |
21 | Indicates if the string is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
22 | Default value: false
.
23 |
24 |
25 | See also
26 | SetAuthor ,
27 | SetCreator ,
28 | SetSubject ,
29 | SetTitle
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setleftmargin.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetLeftMargin
6 |
7 |
8 |
9 | SetLeftMargin
10 | SetLeftMargin(float margin)
11 | Description
12 | Defines the left margin. The method can be called before creating the first page.
13 |
14 | If the current abscissa gets out of page, it is brought back to the margin.
15 | Parameters
16 |
17 | margin
18 |
19 | The margin.
20 |
21 |
22 | See also
23 | SetTopMargin ,
24 | SetRightMargin ,
25 | SetAutoPageBreak ,
26 | SetMargins
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setlinewidth.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetLineWidth
6 |
7 |
8 |
9 | SetLineWidth
10 | SetLineWidth(float width)
11 | Description
12 | Defines the line width. By default, the value equals 0.2 mm. The method can be called before
13 | the first page is created and the value is retained from page to page.
14 | Parameters
15 |
16 | width
17 |
18 | The width.
19 |
20 |
21 | See also
22 | Line ,
23 | Rect ,
24 | Cell ,
25 | MultiCell
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setlink.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetLink
6 |
7 |
8 |
9 | SetLink
10 | SetLink(int link [, float y [, int page]])
11 | Description
12 | Defines the page and position a link points to.
13 | Parameters
14 |
15 | link
16 |
17 | The link identifier returned by AddLink().
18 |
19 | y
20 |
21 | Ordinate of target position; -1
indicates the current position.
22 | The default value is 0
(top of page).
23 |
24 | page
25 |
26 | Number of target page; -1
indicates the current page. This is the default value.
27 |
28 |
29 | See also
30 | AddLink
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setmargins.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetMargins
6 |
7 |
8 |
9 | SetMargins
10 | SetMargins(float left, float top [, float right])
11 | Description
12 | Defines the left, top and right margins. By default, they equal 1 cm. Call this method to change
13 | them.
14 | Parameters
15 |
16 | left
17 |
18 | Left margin.
19 |
20 | top
21 |
22 | Top margin.
23 |
24 | right
25 |
26 | Right margin. Default value is the left one.
27 |
28 |
29 | See also
30 | SetLeftMargin ,
31 | SetTopMargin ,
32 | SetRightMargin ,
33 | SetAutoPageBreak
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setrightmargin.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetRightMargin
6 |
7 |
8 |
9 | SetRightMargin
10 | SetRightMargin(float margin)
11 | Description
12 | Defines the right margin. The method can be called before creating the first page.
13 | Parameters
14 |
15 | margin
16 |
17 | The margin.
18 |
19 |
20 | See also
21 | SetLeftMargin ,
22 | SetTopMargin ,
23 | SetAutoPageBreak ,
24 | SetMargins
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setsubject.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetSubject
6 |
7 |
8 |
9 | SetSubject
10 | SetSubject(string subject [, boolean isUTF8])
11 | Description
12 | Defines the subject of the document.
13 | Parameters
14 |
15 | subject
16 |
17 | The subject.
18 |
19 | isUTF8
20 |
21 | Indicates if the string is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
22 | Default value: false
.
23 |
24 |
25 | See also
26 | SetAuthor ,
27 | SetCreator ,
28 | SetKeywords ,
29 | SetTitle
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/settextcolor.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetTextColor
6 |
7 |
8 |
9 | SetTextColor
10 | SetTextColor(int r [, int g, int b])
11 | Description
12 | Defines the color used for text. It can be expressed in RGB components or gray scale. The
13 | method can be called before the first page is created and the value is retained from page to
14 | page.
15 | Parameters
16 |
17 | r
18 |
19 | If g
et b
are given, red component; if not, indicates the gray level.
20 | Value between 0 and 255.
21 |
22 | g
23 |
24 | Green component (between 0 and 255).
25 |
26 | b
27 |
28 | Blue component (between 0 and 255).
29 |
30 |
31 | See also
32 | SetDrawColor ,
33 | SetFillColor ,
34 | Text ,
35 | Cell ,
36 | MultiCell
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/settitle.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetTitle
6 |
7 |
8 |
9 | SetTitle
10 | SetTitle(string title [, boolean isUTF8])
11 | Description
12 | Defines the title of the document.
13 | Parameters
14 |
15 | title
16 |
17 | The title.
18 |
19 | isUTF8
20 |
21 | Indicates if the string is encoded in ISO-8859-1 (false
) or UTF-8 (true
).
22 | Default value: false
.
23 |
24 |
25 | See also
26 | SetAuthor ,
27 | SetCreator ,
28 | SetKeywords ,
29 | SetSubject
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/settopmargin.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetTopMargin
6 |
7 |
8 |
9 | SetTopMargin
10 | SetTopMargin(float margin)
11 | Description
12 | Defines the top margin. The method can be called before creating the first page.
13 | Parameters
14 |
15 | margin
16 |
17 | The margin.
18 |
19 |
20 | See also
21 | SetLeftMargin ,
22 | SetRightMargin ,
23 | SetAutoPageBreak ,
24 | SetMargins
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setx.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetX
6 |
7 |
8 |
9 | SetX
10 | SetX(float x)
11 | Description
12 | Defines the abscissa of the current position. If the passed value is negative, it is relative
13 | to the right of the page.
14 | Parameters
15 |
16 | x
17 |
18 | The value of the abscissa.
19 |
20 |
21 | See also
22 | GetX ,
23 | GetY ,
24 | SetY ,
25 | SetXY
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/setxy.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetXY
6 |
7 |
8 |
9 | SetXY
10 | SetXY(float x, float y)
11 | Description
12 | Defines the abscissa and ordinate of the current position. If the passed values are negative,
13 | they are relative respectively to the right and bottom of the page.
14 | Parameters
15 |
16 | x
17 |
18 | The value of the abscissa.
19 |
20 | y
21 |
22 | The value of the ordinate.
23 |
24 |
25 | See also
26 | SetX ,
27 | SetY
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/sety.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SetY
6 |
7 |
8 |
9 | SetY
10 | SetY(float y [, boolean resetX])
11 | Description
12 | Sets the ordinate and optionally moves the current abscissa back to the left margin. If the value
13 | is negative, it is relative to the bottom of the page.
14 | Parameters
15 |
16 | y
17 |
18 | The value of the ordinate.
19 |
20 | resetX
21 |
22 | Whether to reset the abscissa. Default value: true
.
23 |
24 |
25 | See also
26 | GetX ,
27 | GetY ,
28 | SetX ,
29 | SetXY
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/text.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Text
6 |
7 |
8 |
9 | Text
10 | Text(float x, float y, string txt)
11 | Description
12 | Prints a character string. The origin is on the left of the first character, on the baseline.
13 | This method allows to place a string precisely on the page, but it is usually easier to use
14 | Cell(), MultiCell() or Write() which are the standard methods to print text.
15 | Parameters
16 |
17 | x
18 |
19 | Abscissa of the origin.
20 |
21 | y
22 |
23 | Ordinate of the origin.
24 |
25 | txt
26 |
27 | String to print.
28 |
29 |
30 | See also
31 | SetFont ,
32 | SetTextColor ,
33 | Cell ,
34 | MultiCell ,
35 | Write
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/doc/write.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Write
6 |
7 |
8 |
9 | Write
10 | Write(float h, string txt [, mixed link])
11 | Description
12 | This method prints text from the current position. When the right margin is reached (or the \n
13 | character is met) a line break occurs and text continues from the left margin. Upon method exit,
14 | the current position is left just at the end of the text.
15 |
16 | It is possible to put a link on the text.
17 | Parameters
18 |
19 | h
20 |
21 | Line height.
22 |
23 | txt
24 |
25 | String to print.
26 |
27 | link
28 |
29 | URL or identifier returned by AddLink().
30 |
31 |
32 | Example
33 |
34 |
// Begin with regular font
35 | $pdf->SetFont('Arial','',14);
36 | $pdf->Write(5,'Visit ');
37 | // Then put a blue underlined link
38 | $pdf->SetTextColor(0,0,255);
39 | $pdf->SetFont('','U');
40 | $pdf->Write(5,'www.fpdf.org','http://www.fpdf.org');
41 |
42 | See also
43 | SetFont ,
44 | SetTextColor ,
45 | AddLink ,
46 | MultiCell ,
47 | SetAutoPageBreak
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/font/courier.php:
--------------------------------------------------------------------------------
1 | array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
10 | ?>
11 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/font/courierb.php:
--------------------------------------------------------------------------------
1 | array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
10 | ?>
11 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/font/courierbi.php:
--------------------------------------------------------------------------------
1 | array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
10 | ?>
11 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/font/courieri.php:
--------------------------------------------------------------------------------
1 | array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
10 | ?>
11 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/fpdf.css:
--------------------------------------------------------------------------------
1 | body {font-family:"Times New Roman",serif}
2 | h1 {font:bold 135% Arial,sans-serif; color:#4000A0; margin-bottom:0.9em}
3 | h2 {font:bold 95% Arial,sans-serif; color:#900000; margin-top:1.5em; margin-bottom:1em}
4 | dl.param dt {text-decoration:underline}
5 | dl.param dd {margin-top:1em; margin-bottom:1em}
6 | dl.param ul {margin-top:1em; margin-bottom:1em}
7 | tt, code, kbd {font-family:"Courier New",Courier,monospace; font-size:82%}
8 | div.source {margin-top:1.4em; margin-bottom:1.3em}
9 | div.source pre {display:table; border:1px solid #24246A; width:100%; margin:0em; font-family:inherit; font-size:100%}
10 | div.source code {display:block; border:1px solid #C5C5EC; background-color:#F0F5FF; padding:6px; color:#000000}
11 | div.doc-source {margin-top:1.4em; margin-bottom:1.3em}
12 | div.doc-source pre {display:table; width:100%; margin:0em; font-family:inherit; font-size:100%}
13 | div.doc-source code {display:block; background-color:#E0E0E0; padding:4px}
14 | .kw {color:#000080; font-weight:bold}
15 | .str {color:#CC0000}
16 | .cmt {color:#008000}
17 | p.demo {text-align:center; margin-top:-0.9em}
18 | a.demo {text-decoration:none; font-weight:bold; color:#0000CC}
19 | a.demo:link {text-decoration:none; font-weight:bold; color:#0000CC}
20 | a.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF}
21 | a.demo:active {text-decoration:none; font-weight:bold; color:#0000FF}
22 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/install.txt:
--------------------------------------------------------------------------------
1 | The FPDF library is made up of the following elements:
2 |
3 | - the main file, fpdf.php, which contains the class
4 | - the font definition files located in the font directory
5 |
6 | The font definition files are necessary as soon as you want to output some text in a document.
7 | If they are not accessible, the SetFont() method will produce the following error:
8 |
9 | FPDF error: Could not include font definition file
10 |
11 |
12 | Remarks:
13 |
14 | - Only the files corresponding to the fonts actually used are necessary
15 | - The tutorials provided in this package are ready to be executed
16 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/license.txt:
--------------------------------------------------------------------------------
1 | Permission is hereby granted, free of charge, to any person obtaining a copy
2 | of this software to use, copy, modify, distribute, sublicense, and/or sell
3 | copies of the software, and to permit persons to whom the software is furnished
4 | to do so.
5 |
6 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/20k_c1.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/Backend/vendor/fpdf/tutorial/20k_c1.txt
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/calligra.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/Backend/vendor/fpdf/tutorial/calligra.ttf
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/calligra.z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/Backend/vendor/fpdf/tutorial/calligra.z
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/countries.txt:
--------------------------------------------------------------------------------
1 | Austria;Vienna;83859;8075
2 | Belgium;Brussels;30518;10192
3 | Denmark;Copenhagen;43094;5295
4 | Finland;Helsinki;304529;5147
5 | France;Paris;543965;58728
6 | Germany;Berlin;357022;82057
7 | Greece;Athens;131625;10511
8 | Ireland;Dublin;70723;3694
9 | Italy;Roma;301316;57563
10 | Luxembourg;Luxembourg;2586;424
11 | Netherlands;Amsterdam;41526;15654
12 | Portugal;Lisbon;91906;9957
13 | Spain;Madrid;504790;39348
14 | Sweden;Stockholm;410934;8839
15 | United Kingdom;London;243820;58862
16 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/index.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Tutorials
6 |
7 |
8 |
9 | Tutorials
10 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/Backend/vendor/fpdf/tutorial/logo.png
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/makefont.php:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto1.php:
--------------------------------------------------------------------------------
1 | AddPage();
6 | $pdf->SetFont('Arial','B',16);
7 | $pdf->Cell(40,10,'Hello World!');
8 | $pdf->Output();
9 | ?>
10 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto2.php:
--------------------------------------------------------------------------------
1 | Image('logo.png',10,6,30);
11 | // Arial bold 15
12 | $this->SetFont('Arial','B',15);
13 | // Move to the right
14 | $this->Cell(80);
15 | // Title
16 | $this->Cell(30,10,'Title',1,0,'C');
17 | // Line break
18 | $this->Ln(20);
19 | }
20 |
21 | // Page footer
22 | function Footer()
23 | {
24 | // Position at 1.5 cm from bottom
25 | $this->SetY(-15);
26 | // Arial italic 8
27 | $this->SetFont('Arial','I',8);
28 | // Page number
29 | $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
30 | }
31 | }
32 |
33 | // Instanciation of inherited class
34 | $pdf = new PDF();
35 | $pdf->AliasNbPages();
36 | $pdf->AddPage();
37 | $pdf->SetFont('Times','',12);
38 | for($i=1;$i<=40;$i++)
39 | $pdf->Cell(0,10,'Printing line number '.$i,0,1);
40 | $pdf->Output();
41 | ?>
42 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto3.php:
--------------------------------------------------------------------------------
1 | SetFont('Arial','B',15);
12 | // Calculate width of title and position
13 | $w = $this->GetStringWidth($title)+6;
14 | $this->SetX((210-$w)/2);
15 | // Colors of frame, background and text
16 | $this->SetDrawColor(0,80,180);
17 | $this->SetFillColor(230,230,0);
18 | $this->SetTextColor(220,50,50);
19 | // Thickness of frame (1 mm)
20 | $this->SetLineWidth(1);
21 | // Title
22 | $this->Cell($w,9,$title,1,1,'C',true);
23 | // Line break
24 | $this->Ln(10);
25 | }
26 |
27 | function Footer()
28 | {
29 | // Position at 1.5 cm from bottom
30 | $this->SetY(-15);
31 | // Arial italic 8
32 | $this->SetFont('Arial','I',8);
33 | // Text color in gray
34 | $this->SetTextColor(128);
35 | // Page number
36 | $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
37 | }
38 |
39 | function ChapterTitle($num, $label)
40 | {
41 | // Arial 12
42 | $this->SetFont('Arial','',12);
43 | // Background color
44 | $this->SetFillColor(200,220,255);
45 | // Title
46 | $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
47 | // Line break
48 | $this->Ln(4);
49 | }
50 |
51 | function ChapterBody($file)
52 | {
53 | // Read text file
54 | $txt = file_get_contents($file);
55 | // Times 12
56 | $this->SetFont('Times','',12);
57 | // Output justified text
58 | $this->MultiCell(0,5,$txt);
59 | // Line break
60 | $this->Ln();
61 | // Mention in italics
62 | $this->SetFont('','I');
63 | $this->Cell(0,5,'(end of excerpt)');
64 | }
65 |
66 | function PrintChapter($num, $title, $file)
67 | {
68 | $this->AddPage();
69 | $this->ChapterTitle($num,$title);
70 | $this->ChapterBody($file);
71 | }
72 | }
73 |
74 | $pdf = new PDF();
75 | $title = '20000 Leagues Under the Seas';
76 | $pdf->SetTitle($title);
77 | $pdf->SetAuthor('Jules Verne');
78 | $pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
79 | $pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
80 | $pdf->Output();
81 | ?>
82 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto4.php:
--------------------------------------------------------------------------------
1 | SetFont('Arial','B',15);
15 | $w = $this->GetStringWidth($title)+6;
16 | $this->SetX((210-$w)/2);
17 | $this->SetDrawColor(0,80,180);
18 | $this->SetFillColor(230,230,0);
19 | $this->SetTextColor(220,50,50);
20 | $this->SetLineWidth(1);
21 | $this->Cell($w,9,$title,1,1,'C',true);
22 | $this->Ln(10);
23 | // Save ordinate
24 | $this->y0 = $this->GetY();
25 | }
26 |
27 | function Footer()
28 | {
29 | // Page footer
30 | $this->SetY(-15);
31 | $this->SetFont('Arial','I',8);
32 | $this->SetTextColor(128);
33 | $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
34 | }
35 |
36 | function SetCol($col)
37 | {
38 | // Set position at a given column
39 | $this->col = $col;
40 | $x = 10+$col*65;
41 | $this->SetLeftMargin($x);
42 | $this->SetX($x);
43 | }
44 |
45 | function AcceptPageBreak()
46 | {
47 | // Method accepting or not automatic page break
48 | if($this->col<2)
49 | {
50 | // Go to next column
51 | $this->SetCol($this->col+1);
52 | // Set ordinate to top
53 | $this->SetY($this->y0);
54 | // Keep on page
55 | return false;
56 | }
57 | else
58 | {
59 | // Go back to first column
60 | $this->SetCol(0);
61 | // Page break
62 | return true;
63 | }
64 | }
65 |
66 | function ChapterTitle($num, $label)
67 | {
68 | // Title
69 | $this->SetFont('Arial','',12);
70 | $this->SetFillColor(200,220,255);
71 | $this->Cell(0,6,"Chapter $num : $label",0,1,'L',true);
72 | $this->Ln(4);
73 | // Save ordinate
74 | $this->y0 = $this->GetY();
75 | }
76 |
77 | function ChapterBody($file)
78 | {
79 | // Read text file
80 | $txt = file_get_contents($file);
81 | // Font
82 | $this->SetFont('Times','',12);
83 | // Output text in a 6 cm width column
84 | $this->MultiCell(60,5,$txt);
85 | $this->Ln();
86 | // Mention
87 | $this->SetFont('','I');
88 | $this->Cell(0,5,'(end of excerpt)');
89 | // Go back to first column
90 | $this->SetCol(0);
91 | }
92 |
93 | function PrintChapter($num, $title, $file)
94 | {
95 | // Add chapter
96 | $this->AddPage();
97 | $this->ChapterTitle($num,$title);
98 | $this->ChapterBody($file);
99 | }
100 | }
101 |
102 | $pdf = new PDF();
103 | $title = '20000 Leagues Under the Seas';
104 | $pdf->SetTitle($title);
105 | $pdf->SetAuthor('Jules Verne');
106 | $pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
107 | $pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
108 | $pdf->Output();
109 | ?>
110 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto5.php:
--------------------------------------------------------------------------------
1 | Cell(40,7,$col,1);
23 | $this->Ln();
24 | // Data
25 | foreach($data as $row)
26 | {
27 | foreach($row as $col)
28 | $this->Cell(40,6,$col,1);
29 | $this->Ln();
30 | }
31 | }
32 |
33 | // Better table
34 | function ImprovedTable($header, $data)
35 | {
36 | // Column widths
37 | $w = array(40, 35, 40, 45);
38 | // Header
39 | for($i=0;$iCell($w[$i],7,$header[$i],1,0,'C');
41 | $this->Ln();
42 | // Data
43 | foreach($data as $row)
44 | {
45 | $this->Cell($w[0],6,$row[0],'LR');
46 | $this->Cell($w[1],6,$row[1],'LR');
47 | $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R');
48 | $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R');
49 | $this->Ln();
50 | }
51 | // Closing line
52 | $this->Cell(array_sum($w),0,'','T');
53 | }
54 |
55 | // Colored table
56 | function FancyTable($header, $data)
57 | {
58 | // Colors, line width and bold font
59 | $this->SetFillColor(255,0,0);
60 | $this->SetTextColor(255);
61 | $this->SetDrawColor(128,0,0);
62 | $this->SetLineWidth(.3);
63 | $this->SetFont('','B');
64 | // Header
65 | $w = array(40, 35, 40, 45);
66 | for($i=0;$iCell($w[$i],7,$header[$i],1,0,'C',true);
68 | $this->Ln();
69 | // Color and font restoration
70 | $this->SetFillColor(224,235,255);
71 | $this->SetTextColor(0);
72 | $this->SetFont('');
73 | // Data
74 | $fill = false;
75 | foreach($data as $row)
76 | {
77 | $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
78 | $this->Cell($w[1],6,$row[1],'LR',0,'L',$fill);
79 | $this->Cell($w[2],6,number_format($row[2]),'LR',0,'R',$fill);
80 | $this->Cell($w[3],6,number_format($row[3]),'LR',0,'R',$fill);
81 | $this->Ln();
82 | $fill = !$fill;
83 | }
84 | // Closing line
85 | $this->Cell(array_sum($w),0,'','T');
86 | }
87 | }
88 |
89 | $pdf = new PDF();
90 | // Column headings
91 | $header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)');
92 | // Data loading
93 | $data = $pdf->LoadData('countries.txt');
94 | $pdf->SetFont('Arial','',14);
95 | $pdf->AddPage();
96 | $pdf->BasicTable($header,$data);
97 | $pdf->AddPage();
98 | $pdf->ImprovedTable($header,$data);
99 | $pdf->AddPage();
100 | $pdf->FancyTable($header,$data);
101 | $pdf->Output();
102 | ?>
103 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto6.php:
--------------------------------------------------------------------------------
1 | /U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
16 | foreach($a as $i=>$e)
17 | {
18 | if($i%2==0)
19 | {
20 | // Text
21 | if($this->HREF)
22 | $this->PutLink($this->HREF,$e);
23 | else
24 | $this->Write(5,$e);
25 | }
26 | else
27 | {
28 | // Tag
29 | if($e[0]=='/')
30 | $this->CloseTag(strtoupper(substr($e,1)));
31 | else
32 | {
33 | // Extract attributes
34 | $a2 = explode(' ',$e);
35 | $tag = strtoupper(array_shift($a2));
36 | $attr = array();
37 | foreach($a2 as $v)
38 | {
39 | if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
40 | $attr[strtoupper($a3[1])] = $a3[2];
41 | }
42 | $this->OpenTag($tag,$attr);
43 | }
44 | }
45 | }
46 | }
47 |
48 | function OpenTag($tag, $attr)
49 | {
50 | // Opening tag
51 | if($tag=='B' || $tag=='I' || $tag=='U')
52 | $this->SetStyle($tag,true);
53 | if($tag=='A')
54 | $this->HREF = $attr['HREF'];
55 | if($tag=='BR')
56 | $this->Ln(5);
57 | }
58 |
59 | function CloseTag($tag)
60 | {
61 | // Closing tag
62 | if($tag=='B' || $tag=='I' || $tag=='U')
63 | $this->SetStyle($tag,false);
64 | if($tag=='A')
65 | $this->HREF = '';
66 | }
67 |
68 | function SetStyle($tag, $enable)
69 | {
70 | // Modify style and select corresponding font
71 | $this->$tag += ($enable ? 1 : -1);
72 | $style = '';
73 | foreach(array('B', 'I', 'U') as $s)
74 | {
75 | if($this->$s>0)
76 | $style .= $s;
77 | }
78 | $this->SetFont('',$style);
79 | }
80 |
81 | function PutLink($URL, $txt)
82 | {
83 | // Put a hyperlink
84 | $this->SetTextColor(0,0,255);
85 | $this->SetStyle('U',true);
86 | $this->Write(5,$txt,$URL);
87 | $this->SetStyle('U',false);
88 | $this->SetTextColor(0);
89 | }
90 | }
91 |
92 | $html = 'You can now easily print text mixing different styles: bold , italic ,
93 | underlined , or all at once ! You can also insert links on
94 | text, such as www.fpdf.org , or on an image: click on the logo.';
95 |
96 | $pdf = new PDF();
97 | // First page
98 | $pdf->AddPage();
99 | $pdf->SetFont('Arial','',20);
100 | $pdf->Write(5,"To find out what's new in this tutorial, click ");
101 | $pdf->SetFont('','U');
102 | $link = $pdf->AddLink();
103 | $pdf->Write(5,'here',$link);
104 | $pdf->SetFont('');
105 | // Second page
106 | $pdf->AddPage();
107 | $pdf->SetLink($link);
108 | $pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org');
109 | $pdf->SetLeftMargin(45);
110 | $pdf->SetFontSize(14);
111 | $pdf->WriteHTML($html);
112 | $pdf->Output();
113 | ?>
114 |
--------------------------------------------------------------------------------
/Backend/vendor/fpdf/tutorial/tuto7.php:
--------------------------------------------------------------------------------
1 | AddFont('Calligrapher','','calligra.php');
7 | $pdf->AddPage();
8 | $pdf->SetFont('Calligrapher','',35);
9 | $pdf->Cell(0,10,'Enjoy new fonts with FPDF!');
10 | $pdf->Output();
11 | ?>
12 |
--------------------------------------------------------------------------------
/Backend/vendor/graham-campbell/result-type/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2020 Graham Campbell
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Backend/vendor/graham-campbell/result-type/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "graham-campbell/result-type",
3 | "description": "An Implementation Of The Result Type",
4 | "keywords": ["result", "result-type", "Result", "Result Type", "Result-Type", "Graham Campbell", "GrahamCampbell"],
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "Graham Campbell",
9 | "email": "graham@alt-three.com"
10 | }
11 | ],
12 | "require": {
13 | "php": "^7.0|^8.0",
14 | "phpoption/phpoption": "^1.7.3"
15 | },
16 | "require-dev": {
17 | "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0"
18 | },
19 | "autoload": {
20 | "psr-4": {
21 | "GrahamCampbell\\ResultType\\": "src/"
22 | }
23 | },
24 | "autoload-dev": {
25 | "psr-4": {
26 | "GrahamCampbell\\Tests\\ResultType\\": "tests/"
27 | }
28 | },
29 | "config": {
30 | "preferred-install": "dist"
31 | },
32 | "extra": {
33 | "branch-alias": {
34 | "dev-master": "1.0-dev"
35 | }
36 | },
37 | "minimum-stability": "dev",
38 | "prefer-stable": true
39 | }
40 |
--------------------------------------------------------------------------------
/Backend/vendor/graham-campbell/result-type/src/Error.php:
--------------------------------------------------------------------------------
1 |
9 | *
10 | * For the full copyright and license information, please view the LICENSE
11 | * file that was distributed with this source code.
12 | */
13 |
14 | namespace GrahamCampbell\ResultType;
15 |
16 | use PhpOption\None;
17 | use PhpOption\Some;
18 |
19 | /**
20 | * @template T
21 | * @template E
22 | * @extends \GrahamCampbell\ResultType\Result
23 | */
24 | final class Error extends Result
25 | {
26 | /**
27 | * @var E
28 | */
29 | private $value;
30 |
31 | /**
32 | * Internal constructor for an error value.
33 | *
34 | * @param E $value
35 | *
36 | * @return void
37 | */
38 | private function __construct($value)
39 | {
40 | $this->value = $value;
41 | }
42 |
43 | /**
44 | * Create a new error value.
45 | *
46 | * @template F
47 | *
48 | * @param F $value
49 | *
50 | * @return \GrahamCampbell\ResultType\Result
51 | */
52 | public static function create($value)
53 | {
54 | return new self($value);
55 | }
56 |
57 | /**
58 | * Get the success option value.
59 | *
60 | * @return \PhpOption\Option
61 | */
62 | public function success()
63 | {
64 | return None::create();
65 | }
66 |
67 | /**
68 | * Map over the success value.
69 | *
70 | * @template S
71 | *
72 | * @param callable(T):S $f
73 | *
74 | * @return \GrahamCampbell\ResultType\Result
75 | */
76 | public function map(callable $f)
77 | {
78 | return self::create($this->value);
79 | }
80 |
81 | /**
82 | * Flat map over the success value.
83 | *
84 | * @template S
85 | * @template F
86 | *
87 | * @param callable(T):\GrahamCampbell\ResultType\Result $f
88 | *
89 | * @return \GrahamCampbell\ResultType\Result
90 | */
91 | public function flatMap(callable $f)
92 | {
93 | /** @var \GrahamCampbell\ResultType\Result */
94 | return self::create($this->value);
95 | }
96 |
97 | /**
98 | * Get the error option value.
99 | *
100 | * @return \PhpOption\Option
101 | */
102 | public function error()
103 | {
104 | return Some::create($this->value);
105 | }
106 |
107 | /**
108 | * Map over the error value.
109 | *
110 | * @template F
111 | *
112 | * @param callable(E):F $f
113 | *
114 | * @return \GrahamCampbell\ResultType\Result
115 | */
116 | public function mapError(callable $f)
117 | {
118 | return self::create($f($this->value));
119 | }
120 | }
121 |
--------------------------------------------------------------------------------
/Backend/vendor/graham-campbell/result-type/src/Result.php:
--------------------------------------------------------------------------------
1 |
9 | *
10 | * For the full copyright and license information, please view the LICENSE
11 | * file that was distributed with this source code.
12 | */
13 |
14 | namespace GrahamCampbell\ResultType;
15 |
16 | /**
17 | * @template T
18 | * @template E
19 | */
20 | abstract class Result
21 | {
22 | /**
23 | * Get the success option value.
24 | *
25 | * @return \PhpOption\Option
26 | */
27 | abstract public function success();
28 |
29 | /**
30 | * Map over the success value.
31 | *
32 | * @template S
33 | *
34 | * @param callable(T):S $f
35 | *
36 | * @return \GrahamCampbell\ResultType\Result
37 | */
38 | abstract public function map(callable $f);
39 |
40 | /**
41 | * Flat map over the success value.
42 | *
43 | * @template S
44 | * @template F
45 | *
46 | * @param callable(T):\GrahamCampbell\ResultType\Result $f
47 | *
48 | * @return \GrahamCampbell\ResultType\Result
49 | */
50 | abstract public function flatMap(callable $f);
51 |
52 | /**
53 | * Get the error option value.
54 | *
55 | * @return \PhpOption\Option
56 | */
57 | abstract public function error();
58 |
59 | /**
60 | * Map over the error value.
61 | *
62 | * @template F
63 | *
64 | * @param callable(E):F $f
65 | *
66 | * @return \GrahamCampbell\ResultType\Result
67 | */
68 | abstract public function mapError(callable $f);
69 | }
70 |
--------------------------------------------------------------------------------
/Backend/vendor/graham-campbell/result-type/src/Success.php:
--------------------------------------------------------------------------------
1 |
9 | *
10 | * For the full copyright and license information, please view the LICENSE
11 | * file that was distributed with this source code.
12 | */
13 |
14 | namespace GrahamCampbell\ResultType;
15 |
16 | use PhpOption\None;
17 | use PhpOption\Some;
18 |
19 | /**
20 | * @template T
21 | * @template E
22 | * @extends \GrahamCampbell\ResultType\Result
23 | */
24 | final class Success extends Result
25 | {
26 | /**
27 | * @var T
28 | */
29 | private $value;
30 |
31 | /**
32 | * Internal constructor for a success value.
33 | *
34 | * @param T $value
35 | *
36 | * @return void
37 | */
38 | private function __construct($value)
39 | {
40 | $this->value = $value;
41 | }
42 |
43 | /**
44 | * Create a new error value.
45 | *
46 | * @template S
47 | *
48 | * @param S $value
49 | *
50 | * @return \GrahamCampbell\ResultType\Result
51 | */
52 | public static function create($value)
53 | {
54 | return new self($value);
55 | }
56 |
57 | /**
58 | * Get the success option value.
59 | *
60 | * @return \PhpOption\Option
61 | */
62 | public function success()
63 | {
64 | return Some::create($this->value);
65 | }
66 |
67 | /**
68 | * Map over the success value.
69 | *
70 | * @template S
71 | *
72 | * @param callable(T):S $f
73 | *
74 | * @return \GrahamCampbell\ResultType\Result
75 | */
76 | public function map(callable $f)
77 | {
78 | return self::create($f($this->value));
79 | }
80 |
81 | /**
82 | * Flat map over the success value.
83 | *
84 | * @template S
85 | * @template F
86 | *
87 | * @param callable(T):\GrahamCampbell\ResultType\Result $f
88 | *
89 | * @return \GrahamCampbell\ResultType\Result
90 | */
91 | public function flatMap(callable $f)
92 | {
93 | return $f($this->value);
94 | }
95 |
96 | /**
97 | * Get the error option value.
98 | *
99 | * @return \PhpOption\Option
100 | */
101 | public function error()
102 | {
103 | return None::create();
104 | }
105 |
106 | /**
107 | * Map over the error value.
108 | *
109 | * @template F
110 | *
111 | * @param callable(E):F $f
112 | *
113 | * @return \GrahamCampbell\ResultType\Result
114 | */
115 | public function mapError(callable $f)
116 | {
117 | return self::create($this->value);
118 | }
119 | }
120 |
--------------------------------------------------------------------------------
/Backend/vendor/phpoption/phpoption/Makefile:
--------------------------------------------------------------------------------
1 | install:
2 | @docker run -it -w /data -v ${PWD}:/data:delegated -v ~/.composer:/root/.composer:delegated --entrypoint composer --rm registry.gitlab.com/grahamcampbell/php:7.4-base update
3 | @docker run -it -w /data -v ${PWD}:/data:delegated -v ~/.composer:/root/.composer:delegated --entrypoint composer --rm registry.gitlab.com/grahamcampbell/php:7.4-base bin all update
4 |
5 | phpunit:
6 | @rm -f bootstrap/cache/*.php && docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpunit --rm registry.gitlab.com/grahamcampbell/php:7.4-cli
7 |
8 | phpstan-analyze-src:
9 | @docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpstan --rm registry.gitlab.com/grahamcampbell/php:7.4-cli analyze src -c phpstan.src.neon.dist
10 |
11 | phpstan-analyze-tests:
12 | @docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpstan --rm registry.gitlab.com/grahamcampbell/php:7.4-cli analyze tests -c phpstan.tests.neon.dist
13 |
14 | psalm-analyze:
15 | @docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/psalm --rm registry.gitlab.com/grahamcampbell/php:7.4-cli
16 |
17 | psalm-show-info:
18 | @docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/psalm --rm registry.gitlab.com/grahamcampbell/php:7.4-cli --show-info=true
19 |
20 | test: phpunit phpstan-analyze-src phpstan-analyze-tests psalm-analyze
21 |
22 | clean:
23 | @rm -rf .phpunit.result.cache composer.lock vendor vendor-bin/*/composer.lock vendor-bin/*/vendor
24 |
--------------------------------------------------------------------------------
/Backend/vendor/phpoption/phpoption/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "phpoption/phpoption",
3 | "description": "Option Type for PHP",
4 | "keywords": ["php", "option", "language", "type"],
5 | "license": "Apache-2.0",
6 | "authors": [
7 | {
8 | "name": "Johannes M. Schmitt",
9 | "email": "schmittjoh@gmail.com"
10 | },
11 | {
12 | "name": "Graham Campbell",
13 | "email": "graham@alt-three.com"
14 | }
15 | ],
16 | "require": {
17 | "php": "^5.5.9 || ^7.0 || ^8.0"
18 | },
19 | "require-dev": {
20 | "bamarni/composer-bin-plugin": "^1.4.1",
21 | "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0"
22 | },
23 | "autoload": {
24 | "psr-4": {
25 | "PhpOption\\": "src/PhpOption/"
26 | }
27 | },
28 | "autoload-dev": {
29 | "psr-4": {
30 | "PhpOption\\Tests\\": "tests/PhpOption/Tests/"
31 | }
32 | },
33 | "config": {
34 | "preferred-install": "dist"
35 | },
36 | "extra": {
37 | "branch-alias": {
38 | "dev-master": "1.7-dev"
39 | }
40 | },
41 | "minimum-stability": "dev",
42 | "prefer-stable": true
43 | }
44 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-ctype/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018-2019 Fabien Potencier
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is furnished
8 | to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-ctype/README.md:
--------------------------------------------------------------------------------
1 | Symfony Polyfill / Ctype
2 | ========================
3 |
4 | This component provides `ctype_*` functions to users who run php versions without the ctype extension.
5 |
6 | More information can be found in the
7 | [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
8 |
9 | License
10 | =======
11 |
12 | This library is released under the [MIT license](LICENSE).
13 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-ctype/bootstrap.php:
--------------------------------------------------------------------------------
1 |
7 | *
8 | * For the full copyright and license information, please view the LICENSE
9 | * file that was distributed with this source code.
10 | */
11 |
12 | use Symfony\Polyfill\Ctype as p;
13 |
14 | if (\PHP_VERSION_ID >= 80000) {
15 | return require __DIR__.'/bootstrap80.php';
16 | }
17 |
18 | if (!function_exists('ctype_alnum')) {
19 | function ctype_alnum($text) { return p\Ctype::ctype_alnum($text); }
20 | }
21 | if (!function_exists('ctype_alpha')) {
22 | function ctype_alpha($text) { return p\Ctype::ctype_alpha($text); }
23 | }
24 | if (!function_exists('ctype_cntrl')) {
25 | function ctype_cntrl($text) { return p\Ctype::ctype_cntrl($text); }
26 | }
27 | if (!function_exists('ctype_digit')) {
28 | function ctype_digit($text) { return p\Ctype::ctype_digit($text); }
29 | }
30 | if (!function_exists('ctype_graph')) {
31 | function ctype_graph($text) { return p\Ctype::ctype_graph($text); }
32 | }
33 | if (!function_exists('ctype_lower')) {
34 | function ctype_lower($text) { return p\Ctype::ctype_lower($text); }
35 | }
36 | if (!function_exists('ctype_print')) {
37 | function ctype_print($text) { return p\Ctype::ctype_print($text); }
38 | }
39 | if (!function_exists('ctype_punct')) {
40 | function ctype_punct($text) { return p\Ctype::ctype_punct($text); }
41 | }
42 | if (!function_exists('ctype_space')) {
43 | function ctype_space($text) { return p\Ctype::ctype_space($text); }
44 | }
45 | if (!function_exists('ctype_upper')) {
46 | function ctype_upper($text) { return p\Ctype::ctype_upper($text); }
47 | }
48 | if (!function_exists('ctype_xdigit')) {
49 | function ctype_xdigit($text) { return p\Ctype::ctype_xdigit($text); }
50 | }
51 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-ctype/bootstrap80.php:
--------------------------------------------------------------------------------
1 |
7 | *
8 | * For the full copyright and license information, please view the LICENSE
9 | * file that was distributed with this source code.
10 | */
11 |
12 | use Symfony\Polyfill\Ctype as p;
13 |
14 | if (!function_exists('ctype_alnum')) {
15 | function ctype_alnum(mixed $text): bool { return p\Ctype::ctype_alnum($text); }
16 | }
17 | if (!function_exists('ctype_alpha')) {
18 | function ctype_alpha(mixed $text): bool { return p\Ctype::ctype_alpha($text); }
19 | }
20 | if (!function_exists('ctype_cntrl')) {
21 | function ctype_cntrl(mixed $text): bool { return p\Ctype::ctype_cntrl($text); }
22 | }
23 | if (!function_exists('ctype_digit')) {
24 | function ctype_digit(mixed $text): bool { return p\Ctype::ctype_digit($text); }
25 | }
26 | if (!function_exists('ctype_graph')) {
27 | function ctype_graph(mixed $text): bool { return p\Ctype::ctype_graph($text); }
28 | }
29 | if (!function_exists('ctype_lower')) {
30 | function ctype_lower(mixed $text): bool { return p\Ctype::ctype_lower($text); }
31 | }
32 | if (!function_exists('ctype_print')) {
33 | function ctype_print(mixed $text): bool { return p\Ctype::ctype_print($text); }
34 | }
35 | if (!function_exists('ctype_punct')) {
36 | function ctype_punct(mixed $text): bool { return p\Ctype::ctype_punct($text); }
37 | }
38 | if (!function_exists('ctype_space')) {
39 | function ctype_space(mixed $text): bool { return p\Ctype::ctype_space($text); }
40 | }
41 | if (!function_exists('ctype_upper')) {
42 | function ctype_upper(mixed $text): bool { return p\Ctype::ctype_upper($text); }
43 | }
44 | if (!function_exists('ctype_xdigit')) {
45 | function ctype_xdigit(mixed $text): bool { return p\Ctype::ctype_xdigit($text); }
46 | }
47 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-ctype/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "symfony/polyfill-ctype",
3 | "type": "library",
4 | "description": "Symfony polyfill for ctype functions",
5 | "keywords": ["polyfill", "compatibility", "portable", "ctype"],
6 | "homepage": "https://symfony.com",
7 | "license": "MIT",
8 | "authors": [
9 | {
10 | "name": "Gert de Pagter",
11 | "email": "BackEndTea@gmail.com"
12 | },
13 | {
14 | "name": "Symfony Community",
15 | "homepage": "https://symfony.com/contributors"
16 | }
17 | ],
18 | "require": {
19 | "php": ">=7.1"
20 | },
21 | "autoload": {
22 | "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" },
23 | "files": [ "bootstrap.php" ]
24 | },
25 | "suggest": {
26 | "ext-ctype": "For best performance"
27 | },
28 | "minimum-stability": "dev",
29 | "extra": {
30 | "branch-alias": {
31 | "dev-main": "1.23-dev"
32 | },
33 | "thanks": {
34 | "name": "symfony/polyfill",
35 | "url": "https://github.com/symfony/polyfill"
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-mbstring/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015-2019 Fabien Potencier
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is furnished
8 | to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-mbstring/README.md:
--------------------------------------------------------------------------------
1 | Symfony Polyfill / Mbstring
2 | ===========================
3 |
4 | This component provides a partial, native PHP implementation for the
5 | [Mbstring](https://php.net/mbstring) extension.
6 |
7 | More information can be found in the
8 | [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
9 |
10 | License
11 | =======
12 |
13 | This library is released under the [MIT license](LICENSE).
14 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-mbstring/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "symfony/polyfill-mbstring",
3 | "type": "library",
4 | "description": "Symfony polyfill for the Mbstring extension",
5 | "keywords": ["polyfill", "shim", "compatibility", "portable", "mbstring"],
6 | "homepage": "https://symfony.com",
7 | "license": "MIT",
8 | "authors": [
9 | {
10 | "name": "Nicolas Grekas",
11 | "email": "p@tchwork.com"
12 | },
13 | {
14 | "name": "Symfony Community",
15 | "homepage": "https://symfony.com/contributors"
16 | }
17 | ],
18 | "require": {
19 | "php": ">=7.1"
20 | },
21 | "autoload": {
22 | "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" },
23 | "files": [ "bootstrap.php" ]
24 | },
25 | "suggest": {
26 | "ext-mbstring": "For best performance"
27 | },
28 | "minimum-stability": "dev",
29 | "extra": {
30 | "branch-alias": {
31 | "dev-main": "1.23-dev"
32 | },
33 | "thanks": {
34 | "name": "symfony/polyfill",
35 | "url": "https://github.com/symfony/polyfill"
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-php80/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 Fabien Potencier
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is furnished
8 | to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-php80/README.md:
--------------------------------------------------------------------------------
1 | Symfony Polyfill / Php80
2 | ========================
3 |
4 | This component provides features added to PHP 8.0 core:
5 |
6 | - `Stringable` interface
7 | - [`fdiv`](https://php.net/fdiv)
8 | - `ValueError` class
9 | - `UnhandledMatchError` class
10 | - `FILTER_VALIDATE_BOOL` constant
11 | - [`get_debug_type`](https://php.net/get_debug_type)
12 | - [`preg_last_error_msg`](https://php.net/preg_last_error_msg)
13 | - [`str_contains`](https://php.net/str_contains)
14 | - [`str_starts_with`](https://php.net/str_starts_with)
15 | - [`str_ends_with`](https://php.net/str_ends_with)
16 | - [`get_resource_id`](https://php.net/get_resource_id)
17 |
18 | More information can be found in the
19 | [main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
20 |
21 | License
22 | =======
23 |
24 | This library is released under the [MIT license](LICENSE).
25 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php:
--------------------------------------------------------------------------------
1 | flags = $flags;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php:
--------------------------------------------------------------------------------
1 |
7 | *
8 | * For the full copyright and license information, please view the LICENSE
9 | * file that was distributed with this source code.
10 | */
11 |
12 | use Symfony\Polyfill\Php80 as p;
13 |
14 | if (\PHP_VERSION_ID >= 80000) {
15 | return;
16 | }
17 |
18 | if (!defined('FILTER_VALIDATE_BOOL') && defined('FILTER_VALIDATE_BOOLEAN')) {
19 | define('FILTER_VALIDATE_BOOL', \FILTER_VALIDATE_BOOLEAN);
20 | }
21 |
22 | if (!function_exists('fdiv')) {
23 | function fdiv(float $num1, float $num2): float { return p\Php80::fdiv($num1, $num2); }
24 | }
25 | if (!function_exists('preg_last_error_msg')) {
26 | function preg_last_error_msg(): string { return p\Php80::preg_last_error_msg(); }
27 | }
28 | if (!function_exists('str_contains')) {
29 | function str_contains(string $haystack, string $needle): bool { return p\Php80::str_contains($haystack, $needle); }
30 | }
31 | if (!function_exists('str_starts_with')) {
32 | function str_starts_with(string $haystack, string $needle): bool { return p\Php80::str_starts_with($haystack, $needle); }
33 | }
34 | if (!function_exists('str_ends_with')) {
35 | function str_ends_with(string $haystack, string $needle): bool { return p\Php80::str_ends_with($haystack, $needle); }
36 | }
37 | if (!function_exists('get_debug_type')) {
38 | function get_debug_type($value): string { return p\Php80::get_debug_type($value); }
39 | }
40 | if (!function_exists('get_resource_id')) {
41 | function get_resource_id($resource): int { return p\Php80::get_resource_id($resource); }
42 | }
43 |
--------------------------------------------------------------------------------
/Backend/vendor/symfony/polyfill-php80/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "symfony/polyfill-php80",
3 | "type": "library",
4 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
5 | "keywords": ["polyfill", "shim", "compatibility", "portable"],
6 | "homepage": "https://symfony.com",
7 | "license": "MIT",
8 | "authors": [
9 | {
10 | "name": "Ion Bazan",
11 | "email": "ion.bazan@gmail.com"
12 | },
13 | {
14 | "name": "Nicolas Grekas",
15 | "email": "p@tchwork.com"
16 | },
17 | {
18 | "name": "Symfony Community",
19 | "homepage": "https://symfony.com/contributors"
20 | }
21 | ],
22 | "require": {
23 | "php": ">=7.1"
24 | },
25 | "autoload": {
26 | "psr-4": { "Symfony\\Polyfill\\Php80\\": "" },
27 | "files": [ "bootstrap.php" ],
28 | "classmap": [ "Resources/stubs" ]
29 | },
30 | "minimum-stability": "dev",
31 | "extra": {
32 | "branch-alias": {
33 | "dev-main": "1.23-dev"
34 | },
35 | "thanks": {
36 | "name": "symfony/polyfill",
37 | "url": "https://github.com/symfony/polyfill"
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2014, Graham Campbell.
4 | Copyright (c) 2013, Vance Lucas.
5 | All rights reserved.
6 |
7 | Redistribution and use in source and binary forms, with or without
8 | modification, are permitted provided that the following conditions are met:
9 |
10 | 1. Redistributions of source code must retain the above copyright notice, this
11 | list of conditions and the following disclaimer.
12 |
13 | 2. Redistributions in binary form must reproduce the above copyright notice,
14 | this list of conditions and the following disclaimer in the documentation
15 | and/or other materials provided with the distribution.
16 |
17 | 3. Neither the name of the copyright holder nor the names of its
18 | contributors may be used to endorse or promote products derived from
19 | this software without specific prior written permission.
20 |
21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vlucas/phpdotenv",
3 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
4 | "keywords": ["env", "dotenv", "environment"],
5 | "license": "BSD-3-Clause",
6 | "authors": [
7 | {
8 | "name": "Graham Campbell",
9 | "email": "graham@alt-three.com",
10 | "homepage": "https://gjcampbell.co.uk/"
11 | },
12 | {
13 | "name": "Vance Lucas",
14 | "email": "vance@vancelucas.com",
15 | "homepage": "https://vancelucas.com/"
16 | }
17 | ],
18 | "require": {
19 | "php": "^7.1.3 || ^8.0",
20 | "ext-pcre": "*",
21 | "graham-campbell/result-type": "^1.0.1",
22 | "phpoption/phpoption": "^1.7.4",
23 | "symfony/polyfill-ctype": "^1.17",
24 | "symfony/polyfill-mbstring": "^1.17",
25 | "symfony/polyfill-php80": "^1.17"
26 | },
27 | "require-dev": {
28 | "ext-filter": "*",
29 | "bamarni/composer-bin-plugin": "^1.4.1",
30 | "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1"
31 | },
32 | "autoload": {
33 | "psr-4": {
34 | "Dotenv\\": "src/"
35 | }
36 | },
37 | "autoload-dev": {
38 | "psr-4": {
39 | "Dotenv\\Tests\\": "tests/Dotenv/"
40 | }
41 | },
42 | "suggest": {
43 | "ext-filter": "Required to use the boolean validator."
44 | },
45 | "config": {
46 | "preferred-install": "dist"
47 | },
48 | "extra": {
49 | "branch-alias": {
50 | "dev-master": "5.3-dev"
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Exception/ExceptionInterface.php:
--------------------------------------------------------------------------------
1 |
23 | */
24 | public function load(RepositoryInterface $repository, array $entries)
25 | {
26 | return \array_reduce($entries, static function (array $vars, Entry $entry) use ($repository) {
27 | $name = $entry->getName();
28 |
29 | $value = $entry->getValue()->map(static function (Value $value) use ($repository) {
30 | return Resolver::resolve($repository, $value);
31 | });
32 |
33 | if ($value->isDefined()) {
34 | $inner = $value->get();
35 | if ($repository->set($name, $inner)) {
36 | return \array_merge($vars, [$name => $inner]);
37 | }
38 | } else {
39 | if ($repository->clear($name)) {
40 | return \array_merge($vars, [$name => null]);
41 | }
42 | }
43 |
44 | return $vars;
45 | }, []);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Loader/LoaderInterface.php:
--------------------------------------------------------------------------------
1 |
18 | */
19 | public function load(RepositoryInterface $repository, array $entries);
20 | }
21 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Loader/Resolver.php:
--------------------------------------------------------------------------------
1 | getVars(), static function (string $s, int $i) use ($repository) {
41 | return Str::substr($s, 0, $i).self::resolveVariable($repository, Str::substr($s, $i));
42 | }, $value->getChars());
43 | }
44 |
45 | /**
46 | * Resolve a single nested variable.
47 | *
48 | * @param \Dotenv\Repository\RepositoryInterface $repository
49 | * @param string $str
50 | *
51 | * @return string
52 | */
53 | private static function resolveVariable(RepositoryInterface $repository, string $str)
54 | {
55 | return Regex::replaceCallback(
56 | '/\A\${([a-zA-Z0-9_.]+)}/',
57 | static function (array $matches) use ($repository) {
58 | return Option::fromValue($repository->get($matches[1]))
59 | ->getOrElse($matches[0]);
60 | },
61 | $str,
62 | 1
63 | )->success()->getOrElse($str);
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Parser/Entry.php:
--------------------------------------------------------------------------------
1 | name = $name;
36 | $this->value = $value;
37 | }
38 |
39 | /**
40 | * Get the entry name.
41 | *
42 | * @return string
43 | */
44 | public function getName()
45 | {
46 | return $this->name;
47 | }
48 |
49 | /**
50 | * Get the entry value.
51 | *
52 | * @return \PhpOption\Option<\Dotenv\Parser\Value>
53 | */
54 | public function getValue()
55 | {
56 | /** @var \PhpOption\Option<\Dotenv\Parser\Value> */
57 | return Option::fromValue($this->value);
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Parser/Lexer.php:
--------------------------------------------------------------------------------
1 |
39 | */
40 | public static function lex(string $content)
41 | {
42 | static $regex;
43 |
44 | if ($regex === null) {
45 | $regex = '(('.\implode(')|(', self::PATTERNS).'))A';
46 | }
47 |
48 | $tokens = [];
49 |
50 | $offset = 0;
51 |
52 | while (isset($content[$offset])) {
53 | if (!\preg_match($regex, $content, $matches, 0, $offset)) {
54 | throw new \Error(\sprintf('Lexer encountered unexpected character [%s].', $content[$offset]));
55 | }
56 |
57 | $offset += \strlen($matches[0]);
58 |
59 | yield $matches[0];
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Parser/Parser.php:
--------------------------------------------------------------------------------
1 | mapError(static function () {
26 | return 'Could not split into separate lines.';
27 | })->flatMap(static function (array $lines) {
28 | return self::process(Lines::process($lines));
29 | })->mapError(static function (string $error) {
30 | throw new InvalidFileException(\sprintf('Failed to parse dotenv file. %s', $error));
31 | })->success()->get();
32 | }
33 |
34 | /**
35 | * Convert the raw entries into proper entries.
36 | *
37 | * @param string[] $entries
38 | *
39 | * @return \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[],string>
40 | */
41 | private static function process(array $entries)
42 | {
43 | /** @var \GrahamCampbell\ResultType\Result<\Dotenv\Parser\Entry[],string> */
44 | return \array_reduce($entries, static function (Result $result, string $raw) {
45 | return $result->flatMap(static function (array $entries) use ($raw) {
46 | return EntryParser::parse($raw)->map(static function (Entry $entry) use ($entries) {
47 | return \array_merge($entries, [$entry]);
48 | });
49 | });
50 | }, Success::create([]));
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Parser/ParserInterface.php:
--------------------------------------------------------------------------------
1 | chars = $chars;
36 | $this->vars = $vars;
37 | }
38 |
39 | /**
40 | * Create an empty value instance.
41 | *
42 | * @return \Dotenv\Parser\Value
43 | */
44 | public static function blank()
45 | {
46 | return new self('', []);
47 | }
48 |
49 | /**
50 | * Create a new value instance, appending the characters.
51 | *
52 | * @param string $chars
53 | * @param bool $var
54 | *
55 | * @return \Dotenv\Parser\Value
56 | */
57 | public function append(string $chars, bool $var)
58 | {
59 | return new self(
60 | $this->chars.$chars,
61 | $var ? \array_merge($this->vars, [Str::len($this->chars)]) : $this->vars
62 | );
63 | }
64 |
65 | /**
66 | * Get the string representation of the parsed value.
67 | *
68 | * @return string
69 | */
70 | public function getChars()
71 | {
72 | return $this->chars;
73 | }
74 |
75 | /**
76 | * Get the locations of the variables in the value.
77 | *
78 | * @return int[]
79 | */
80 | public function getVars()
81 | {
82 | $vars = $this->vars;
83 |
84 | \rsort($vars);
85 |
86 | return $vars;
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/AdapterInterface.php:
--------------------------------------------------------------------------------
1 |
13 | */
14 | public static function create();
15 | }
16 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ApacheAdapter.php:
--------------------------------------------------------------------------------
1 |
27 | */
28 | public static function create()
29 | {
30 | if (self::isSupported()) {
31 | /** @var \PhpOption\Option */
32 | return Some::create(new self());
33 | }
34 |
35 | return None::create();
36 | }
37 |
38 | /**
39 | * Determines if the adapter is supported.
40 | *
41 | * This happens if PHP is running as an Apache module.
42 | *
43 | * @return bool
44 | */
45 | private static function isSupported()
46 | {
47 | return \function_exists('apache_getenv') && \function_exists('apache_setenv');
48 | }
49 |
50 | /**
51 | * Read an environment variable, if it exists.
52 | *
53 | * @param string $name
54 | *
55 | * @return \PhpOption\Option
56 | */
57 | public function read(string $name)
58 | {
59 | /** @var \PhpOption\Option */
60 | return Option::fromValue(apache_getenv($name))->filter(static function ($value) {
61 | return \is_string($value) && $value !== '';
62 | });
63 | }
64 |
65 | /**
66 | * Write to an environment variable, if possible.
67 | *
68 | * @param string $name
69 | * @param string $value
70 | *
71 | * @return bool
72 | */
73 | public function write(string $name, string $value)
74 | {
75 | return apache_setenv($name, $value);
76 | }
77 |
78 | /**
79 | * Delete an environment variable, if possible.
80 | *
81 | * @param string $name
82 | *
83 | * @return bool
84 | */
85 | public function delete(string $name)
86 | {
87 | return apache_setenv($name, '');
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ArrayAdapter.php:
--------------------------------------------------------------------------------
1 |
16 | */
17 | private $variables;
18 |
19 | /**
20 | * Create a new array adapter instance.
21 | *
22 | * @return void
23 | */
24 | private function __construct()
25 | {
26 | $this->variables = [];
27 | }
28 |
29 | /**
30 | * Create a new instance of the adapter, if it is available.
31 | *
32 | * @return \PhpOption\Option<\Dotenv\Repository\Adapter\AdapterInterface>
33 | */
34 | public static function create()
35 | {
36 | /** @var \PhpOption\Option */
37 | return Some::create(new self());
38 | }
39 |
40 | /**
41 | * Read an environment variable, if it exists.
42 | *
43 | * @param string $name
44 | *
45 | * @return \PhpOption\Option
46 | */
47 | public function read(string $name)
48 | {
49 | return Option::fromArraysValue($this->variables, $name);
50 | }
51 |
52 | /**
53 | * Write to an environment variable, if possible.
54 | *
55 | * @param string $name
56 | * @param string $value
57 | *
58 | * @return bool
59 | */
60 | public function write(string $name, string $value)
61 | {
62 | $this->variables[$name] = $value;
63 |
64 | return true;
65 | }
66 |
67 | /**
68 | * Delete an environment variable, if possible.
69 | *
70 | * @param string $name
71 | *
72 | * @return bool
73 | */
74 | public function delete(string $name)
75 | {
76 | unset($this->variables[$name]);
77 |
78 | return true;
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/EnvConstAdapter.php:
--------------------------------------------------------------------------------
1 |
26 | */
27 | public static function create()
28 | {
29 | /** @var \PhpOption\Option */
30 | return Some::create(new self());
31 | }
32 |
33 | /**
34 | * Read an environment variable, if it exists.
35 | *
36 | * @param string $name
37 | *
38 | * @return \PhpOption\Option
39 | */
40 | public function read(string $name)
41 | {
42 | /** @var \PhpOption\Option */
43 | return Option::fromArraysValue($_ENV, $name)
44 | ->map(static function ($value) {
45 | if ($value === false) {
46 | return 'false';
47 | }
48 |
49 | if ($value === true) {
50 | return 'true';
51 | }
52 |
53 | return $value;
54 | })->filter(static function ($value) {
55 | return \is_string($value);
56 | });
57 | }
58 |
59 | /**
60 | * Write to an environment variable, if possible.
61 | *
62 | * @param string $name
63 | * @param string $value
64 | *
65 | * @return bool
66 | */
67 | public function write(string $name, string $value)
68 | {
69 | $_ENV[$name] = $value;
70 |
71 | return true;
72 | }
73 |
74 | /**
75 | * Delete an environment variable, if possible.
76 | *
77 | * @param string $name
78 | *
79 | * @return bool
80 | */
81 | public function delete(string $name)
82 | {
83 | unset($_ENV[$name]);
84 |
85 | return true;
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/GuardedWriter.php:
--------------------------------------------------------------------------------
1 | writer = $writer;
34 | $this->allowList = $allowList;
35 | }
36 |
37 | /**
38 | * Write to an environment variable, if possible.
39 | *
40 | * @param string $name
41 | * @param string $value
42 | *
43 | * @return bool
44 | */
45 | public function write(string $name, string $value)
46 | {
47 | // Don't set non-allowed variables
48 | if (!$this->isAllowed($name)) {
49 | return false;
50 | }
51 |
52 | // Set the value on the inner writer
53 | return $this->writer->write($name, $value);
54 | }
55 |
56 | /**
57 | * Delete an environment variable, if possible.
58 | *
59 | * @param string $name
60 | *
61 | * @return bool
62 | */
63 | public function delete(string $name)
64 | {
65 | // Don't clear non-allowed variables
66 | if (!$this->isAllowed($name)) {
67 | return false;
68 | }
69 |
70 | // Set the value on the inner writer
71 | return $this->writer->delete($name);
72 | }
73 |
74 | /**
75 | * Determine if the given variable is allowed.
76 | *
77 | * @param string $name
78 | *
79 | * @return bool
80 | */
81 | private function isAllowed(string $name)
82 | {
83 | return \in_array($name, $this->allowList, true);
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ImmutableWriter.php:
--------------------------------------------------------------------------------
1 |
27 | */
28 | private $loaded;
29 |
30 | /**
31 | * Create a new immutable writer instance.
32 | *
33 | * @param \Dotenv\Repository\Adapter\WriterInterface $writer
34 | * @param \Dotenv\Repository\Adapter\ReaderInterface $reader
35 | *
36 | * @return void
37 | */
38 | public function __construct(WriterInterface $writer, ReaderInterface $reader)
39 | {
40 | $this->writer = $writer;
41 | $this->reader = $reader;
42 | $this->loaded = [];
43 | }
44 |
45 | /**
46 | * Write to an environment variable, if possible.
47 | *
48 | * @param string $name
49 | * @param string $value
50 | *
51 | * @return bool
52 | */
53 | public function write(string $name, string $value)
54 | {
55 | // Don't overwrite existing environment variables
56 | // Ruby's dotenv does this with `ENV[key] ||= value`
57 | if ($this->isExternallyDefined($name)) {
58 | return false;
59 | }
60 |
61 | // Set the value on the inner writer
62 | if (!$this->writer->write($name, $value)) {
63 | return false;
64 | }
65 |
66 | // Record that we have loaded the variable
67 | $this->loaded[$name] = '';
68 |
69 | return true;
70 | }
71 |
72 | /**
73 | * Delete an environment variable, if possible.
74 | *
75 | * @param string $name
76 | *
77 | * @return bool
78 | */
79 | public function delete(string $name)
80 | {
81 | // Don't clear existing environment variables
82 | if ($this->isExternallyDefined($name)) {
83 | return false;
84 | }
85 |
86 | // Clear the value on the inner writer
87 | if (!$this->writer->delete($name)) {
88 | return false;
89 | }
90 |
91 | // Leave the variable as fair game
92 | unset($this->loaded[$name]);
93 |
94 | return true;
95 | }
96 |
97 | /**
98 | * Determine if the given variable is externally defined.
99 | *
100 | * That is, is it an "existing" variable.
101 | *
102 | * @param string $name
103 | *
104 | * @return bool
105 | */
106 | private function isExternallyDefined(string $name)
107 | {
108 | return $this->reader->read($name)->isDefined() && !isset($this->loaded[$name]);
109 | }
110 | }
111 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiReader.php:
--------------------------------------------------------------------------------
1 | readers = $readers;
28 | }
29 |
30 | /**
31 | * Read an environment variable, if it exists.
32 | *
33 | * @param string $name
34 | *
35 | * @return \PhpOption\Option
36 | */
37 | public function read(string $name)
38 | {
39 | foreach ($this->readers as $reader) {
40 | $result = $reader->read($name);
41 | if ($result->isDefined()) {
42 | return $result;
43 | }
44 | }
45 |
46 | return None::create();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/MultiWriter.php:
--------------------------------------------------------------------------------
1 | writers = $writers;
26 | }
27 |
28 | /**
29 | * Write to an environment variable, if possible.
30 | *
31 | * @param string $name
32 | * @param string $value
33 | *
34 | * @return bool
35 | */
36 | public function write(string $name, string $value)
37 | {
38 | foreach ($this->writers as $writers) {
39 | if (!$writers->write($name, $value)) {
40 | return false;
41 | }
42 | }
43 |
44 | return true;
45 | }
46 |
47 | /**
48 | * Delete an environment variable, if possible.
49 | *
50 | * @param string $name
51 | *
52 | * @return bool
53 | */
54 | public function delete(string $name)
55 | {
56 | foreach ($this->writers as $writers) {
57 | if (!$writers->delete($name)) {
58 | return false;
59 | }
60 | }
61 |
62 | return true;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/PutenvAdapter.php:
--------------------------------------------------------------------------------
1 |
27 | */
28 | public static function create()
29 | {
30 | if (self::isSupported()) {
31 | /** @var \PhpOption\Option */
32 | return Some::create(new self());
33 | }
34 |
35 | return None::create();
36 | }
37 |
38 | /**
39 | * Determines if the adapter is supported.
40 | *
41 | * @return bool
42 | */
43 | private static function isSupported()
44 | {
45 | return \function_exists('getenv') && \function_exists('putenv');
46 | }
47 |
48 | /**
49 | * Read an environment variable, if it exists.
50 | *
51 | * @param string $name
52 | *
53 | * @return \PhpOption\Option
54 | */
55 | public function read(string $name)
56 | {
57 | /** @var \PhpOption\Option */
58 | return Option::fromValue(\getenv($name), false)->filter(static function ($value) {
59 | return \is_string($value);
60 | });
61 | }
62 |
63 | /**
64 | * Write to an environment variable, if possible.
65 | *
66 | * @param string $name
67 | * @param string $value
68 | *
69 | * @return bool
70 | */
71 | public function write(string $name, string $value)
72 | {
73 | \putenv("$name=$value");
74 |
75 | return true;
76 | }
77 |
78 | /**
79 | * Delete an environment variable, if possible.
80 | *
81 | * @param string $name
82 | *
83 | * @return bool
84 | */
85 | public function delete(string $name)
86 | {
87 | \putenv($name);
88 |
89 | return true;
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReaderInterface.php:
--------------------------------------------------------------------------------
1 |
15 | */
16 | public function read(string $name);
17 | }
18 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ReplacingWriter.php:
--------------------------------------------------------------------------------
1 |
27 | */
28 | private $seen;
29 |
30 | /**
31 | * Create a new replacement writer instance.
32 | *
33 | * @param \Dotenv\Repository\Adapter\WriterInterface $writer
34 | * @param \Dotenv\Repository\Adapter\ReaderInterface $reader
35 | *
36 | * @return void
37 | */
38 | public function __construct(WriterInterface $writer, ReaderInterface $reader)
39 | {
40 | $this->writer = $writer;
41 | $this->reader = $reader;
42 | $this->seen = [];
43 | }
44 |
45 | /**
46 | * Write to an environment variable, if possible.
47 | *
48 | * @param string $name
49 | * @param string $value
50 | *
51 | * @return bool
52 | */
53 | public function write(string $name, string $value)
54 | {
55 | if ($this->exists($name)) {
56 | return $this->writer->write($name, $value);
57 | }
58 |
59 | // succeed if nothing to do
60 | return true;
61 | }
62 |
63 | /**
64 | * Delete an environment variable, if possible.
65 | *
66 | * @param string $name
67 | *
68 | * @return bool
69 | */
70 | public function delete(string $name)
71 | {
72 | if ($this->exists($name)) {
73 | return $this->writer->delete($name);
74 | }
75 |
76 | // succeed if nothing to do
77 | return true;
78 | }
79 |
80 | /**
81 | * Does the given environment variable exist.
82 | *
83 | * Returns true if it currently exists, or existed at any point in the past
84 | * that we are aware of.
85 | *
86 | * @param string $name
87 | *
88 | * @return bool
89 | */
90 | private function exists(string $name)
91 | {
92 | if (isset($this->seen[$name])) {
93 | return true;
94 | }
95 |
96 | if ($this->reader->read($name)->isDefined()) {
97 | $this->seen[$name] = '';
98 |
99 | return true;
100 | }
101 |
102 | return false;
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/ServerConstAdapter.php:
--------------------------------------------------------------------------------
1 |
26 | */
27 | public static function create()
28 | {
29 | /** @var \PhpOption\Option */
30 | return Some::create(new self());
31 | }
32 |
33 | /**
34 | * Read an environment variable, if it exists.
35 | *
36 | * @param string $name
37 | *
38 | * @return \PhpOption\Option
39 | */
40 | public function read(string $name)
41 | {
42 | /** @var \PhpOption\Option */
43 | return Option::fromArraysValue($_SERVER, $name)
44 | ->map(static function ($value) {
45 | if ($value === false) {
46 | return 'false';
47 | }
48 |
49 | if ($value === true) {
50 | return 'true';
51 | }
52 |
53 | return $value;
54 | })->filter(static function ($value) {
55 | return \is_string($value);
56 | });
57 | }
58 |
59 | /**
60 | * Write to an environment variable, if possible.
61 | *
62 | * @param string $name
63 | * @param string $value
64 | *
65 | * @return bool
66 | */
67 | public function write(string $name, string $value)
68 | {
69 | $_SERVER[$name] = $value;
70 |
71 | return true;
72 | }
73 |
74 | /**
75 | * Delete an environment variable, if possible.
76 | *
77 | * @param string $name
78 | *
79 | * @return bool
80 | */
81 | public function delete(string $name)
82 | {
83 | unset($_SERVER[$name]);
84 |
85 | return true;
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/Adapter/WriterInterface.php:
--------------------------------------------------------------------------------
1 | reader = $reader;
37 | $this->writer = $writer;
38 | }
39 |
40 | /**
41 | * Determine if the given environment variable is defined.
42 | *
43 | * @param string $name
44 | *
45 | * @return bool
46 | */
47 | public function has(string $name)
48 | {
49 | return $this->reader->read($name)->isDefined();
50 | }
51 |
52 | /**
53 | * Get an environment variable.
54 | *
55 | * @param string $name
56 | *
57 | * @return string|null
58 | */
59 | public function get(string $name)
60 | {
61 | return $this->reader->read($name)->getOrElse(null);
62 | }
63 |
64 | /**
65 | * Set an environment variable.
66 | *
67 | * @param string $name
68 | * @param string $value
69 | *
70 | * @return bool
71 | */
72 | public function set(string $name, string $value)
73 | {
74 | return $this->writer->write($name, $value);
75 | }
76 |
77 | /**
78 | * Clear an environment variable.
79 | *
80 | * @param string $name
81 | *
82 | * @return bool
83 | */
84 | public function clear(string $name)
85 | {
86 | return $this->writer->delete($name);
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Repository/RepositoryInterface.php:
--------------------------------------------------------------------------------
1 |
42 | */
43 | public static function read(array $filePaths, bool $shortCircuit = true, string $fileEncoding = null)
44 | {
45 | $output = [];
46 |
47 | foreach ($filePaths as $filePath) {
48 | $content = self::readFromFile($filePath, $fileEncoding);
49 | if ($content->isDefined()) {
50 | $output[$filePath] = $content->get();
51 | if ($shortCircuit) {
52 | break;
53 | }
54 | }
55 | }
56 |
57 | return $output;
58 | }
59 |
60 | /**
61 | * Read the given file.
62 | *
63 | * @param string $path
64 | * @param string|null $encoding
65 | *
66 | * @throws \Dotenv\Exception\InvalidEncodingException
67 | *
68 | * @return \PhpOption\Option
69 | */
70 | private static function readFromFile(string $path, string $encoding = null)
71 | {
72 | /** @var Option */
73 | $content = Option::fromValue(@\file_get_contents($path), false);
74 |
75 | return $content->flatMap(static function (string $content) use ($encoding) {
76 | return Str::utf8($content, $encoding)->mapError(static function (string $error) {
77 | throw new InvalidEncodingException($error);
78 | })->success();
79 | });
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Store/FileStore.php:
--------------------------------------------------------------------------------
1 | filePaths = $filePaths;
45 | $this->shortCircuit = $shortCircuit;
46 | $this->fileEncoding = $fileEncoding;
47 | }
48 |
49 | /**
50 | * Read the content of the environment file(s).
51 | *
52 | * @throws \Dotenv\Exception\InvalidEncodingException|\Dotenv\Exception\InvalidPathException
53 | *
54 | * @return string
55 | */
56 | public function read()
57 | {
58 | if ($this->filePaths === []) {
59 | throw new InvalidPathException('At least one environment file path must be provided.');
60 | }
61 |
62 | $contents = Reader::read($this->filePaths, $this->shortCircuit, $this->fileEncoding);
63 |
64 | if (\count($contents) > 0) {
65 | return \implode("\n", $contents);
66 | }
67 |
68 | throw new InvalidPathException(
69 | \sprintf('Unable to read any of the environment file(s) at [%s].', \implode(', ', $this->filePaths))
70 | );
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Store/StoreInterface.php:
--------------------------------------------------------------------------------
1 | content = $content;
26 | }
27 |
28 | /**
29 | * Read the content of the environment file(s).
30 | *
31 | * @return string
32 | */
33 | public function read()
34 | {
35 | return $this->content;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Backend/vendor/vlucas/phpdotenv/src/Util/Str.php:
--------------------------------------------------------------------------------
1 |
35 | */
36 | public static function utf8(string $input, string $encoding = null)
37 | {
38 | if ($encoding !== null && !\in_array($encoding, \mb_list_encodings(), true)) {
39 | /** @var \GrahamCampbell\ResultType\Result */
40 | return Error::create(
41 | \sprintf('Illegal character encoding [%s] specified.', $encoding)
42 | );
43 | }
44 |
45 | /** @var \GrahamCampbell\ResultType\Result */
46 | return Success::create(
47 | $encoding === null ? @\mb_convert_encoding($input, 'UTF-8') : @\mb_convert_encoding($input, 'UTF-8', $encoding)
48 | );
49 | }
50 |
51 | /**
52 | * Search for a given substring of the input.
53 | *
54 | * @param string $haystack
55 | * @param string $needle
56 | *
57 | * @return \PhpOption\Option
58 | */
59 | public static function pos(string $haystack, string $needle)
60 | {
61 | /** @var \PhpOption\Option */
62 | return Option::fromValue(\mb_strpos($haystack, $needle, 0, 'UTF-8'), false);
63 | }
64 |
65 | /**
66 | * Grab the specified substring of the input.
67 | *
68 | * @param string $input
69 | * @param int $start
70 | * @param int|null $length
71 | *
72 | * @return string
73 | */
74 | public static function substr(string $input, int $start, int $length = null)
75 | {
76 | return \mb_substr($input, $start, $length, 'UTF-8');
77 | }
78 |
79 | /**
80 | * Compute the length of the given string.
81 | *
82 | * @param string $input
83 | *
84 | * @return int
85 | */
86 | public static function len(string $input)
87 | {
88 | return \mb_strlen($input, 'UTF-8');
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/VueApp/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/VueApp/.env:
--------------------------------------------------------------------------------
1 | VUE_APP_BACKEND_URL=http://localhost/QuickRd/
2 |
--------------------------------------------------------------------------------
/VueApp/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | node: true
5 | },
6 | 'extends': [
7 | 'plugin:vue/vue3-essential',
8 | 'eslint:recommended'
9 | ],
10 | parserOptions: {
11 | parser: 'babel-eslint'
12 | },
13 | rules: {
14 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
15 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/VueApp/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/VueApp/README.md:
--------------------------------------------------------------------------------
1 | # rv
2 |
3 | ## Project setup
4 | ```
5 | npm install
6 | ```
7 |
8 | ### Compiles and hot-reloads for development
9 | ```
10 | npm run serve
11 | ```
12 |
13 | ### Compiles and minifies for production
14 | ```
15 | npm run build
16 | ```
17 |
18 | ### Lints and fixes files
19 | ```
20 | npm run lint
21 | ```
22 |
23 | ### Customize configuration
24 | See [Configuration Reference](https://cli.vuejs.org/config/).
25 |
--------------------------------------------------------------------------------
/VueApp/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/VueApp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rv",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.6.5",
12 | "materialize-css": "^1.0.0-rc.2",
13 | "vue": "^3.0.0",
14 | "vue-router": "^4.0.0-0",
15 | "vuex": "^4.0.1"
16 | },
17 | "devDependencies": {
18 | "@vue/cli-plugin-babel": "~4.5.0",
19 | "@vue/cli-plugin-eslint": "~4.5.0",
20 | "@vue/cli-plugin-router": "~4.5.0",
21 | "@vue/cli-service": "~4.5.0",
22 | "@vue/compiler-sfc": "^3.0.0",
23 | "babel-eslint": "^10.1.0",
24 | "eslint": "^6.7.2",
25 | "eslint-plugin-vue": "^7.0.0",
26 | "vue-materialize": "^1.0.0"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/VueApp/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/VueApp/public/favicon.ico
--------------------------------------------------------------------------------
/VueApp/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | <%= htmlWebpackPlugin.options.title %>
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
21 | Please enable it to continue.
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/VueApp/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
39 |
40 |
41 |
53 |
--------------------------------------------------------------------------------
/VueApp/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FalconHD/Appointments_Application_vuejs_3/ebdc2c2da7e05b36a8265fa955ad98ef7fcb595e/VueApp/src/assets/logo.png
--------------------------------------------------------------------------------
/VueApp/src/components/Auth/Authorized.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
50 |
--------------------------------------------------------------------------------
/VueApp/src/components/Collapsible.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
22 |
23 |
24 | {{ dayTimes[data.time - 1].from }} to
26 | {{ dayTimes[data.time - 1].to }}
27 |
28 |
29 |
30 |
31 | no appointments created yet ...
32 |
33 |
34 |
74 |
--------------------------------------------------------------------------------
/VueApp/src/components/Footer.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
14 |
--------------------------------------------------------------------------------
/VueApp/src/components/Header.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
menu
6 |
7 | Home
8 | Dashboard
9 | Contact
10 | account_circle {{ store.state.username }}
11 |
12 |
13 |
14 |
15 |
21 |
22 |
23 |
61 |
75 |
--------------------------------------------------------------------------------
/VueApp/src/hooks/Api.js:
--------------------------------------------------------------------------------
1 |
2 | export default {
3 | async get(url,token) {
4 | url = `${process.env.VUE_APP_BACKEND_URL}${url}`
5 | const response = await fetch(url, {
6 | method: "GET",
7 | headers: {
8 | "accept": "application/json",
9 | "Authorization" : `Bearer ${token}`
10 | },
11 | });
12 | return await response.json()
13 | },
14 |
15 | async post(url, body ,token) {
16 | url = `${process.env.VUE_APP_BACKEND_URL}${url}`
17 | const response = await fetch(url, {
18 | method: "POST",
19 | headers: {
20 | "accept": "application/json",
21 | "Authorization" : `Bearer ${token}`
22 | },
23 | body: JSON.stringify(body)
24 | });
25 | return await response.json()
26 | }
27 | }
28 |
29 |
30 |
--------------------------------------------------------------------------------
/VueApp/src/hooks/checkAuth.js:
--------------------------------------------------------------------------------
1 | import Api from '@/hooks/Api.js'
2 | export default {
3 | addToken(Token,ref) {
4 | localStorage.setItem('Token', Token)
5 | localStorage.setItem('ref', ref)
6 | },
7 |
8 | async checkAuth(token) {
9 | let ref = localStorage.getItem('ref')
10 | let result = await Api.get(`auth/Token/${ref}`,token)
11 | console.log(result);
12 | }
13 | }
--------------------------------------------------------------------------------
/VueApp/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import store from './store'
5 | import 'materialize-css'
6 | import 'materialize-css/dist/css/materialize.css'
7 | import 'materialize-css/dist/js/materialize.js'
8 |
9 |
10 | createApp(App).use(store).use(router).mount('#app')
11 |
--------------------------------------------------------------------------------
/VueApp/src/router/index.js:
--------------------------------------------------------------------------------
1 | import { createRouter, createWebHistory } from 'vue-router'
2 |
3 | import Home from '../views/Home.vue'
4 | import Login from '../components/Auth/Login.vue'
5 |
6 | import Register from '../components/Auth/Register.vue'
7 | import Contact from '../views/Contact.vue'
8 | import AuthPage from '../views/AuthPage.vue'
9 | import Dashboard from '../views/Dashboard.vue'
10 |
11 |
12 | const routes = [
13 | {
14 | path: '/',
15 | name: 'Home',
16 | component: Home
17 | },
18 | {
19 | path: '/Login',
20 | name: 'Login',
21 | component: Login
22 | },
23 | {
24 | path: '/Register',
25 | name: 'Register',
26 | component: Register
27 | },
28 | {
29 | path: '/Auth',
30 | name: 'Auth',
31 | component: AuthPage
32 | },
33 | {
34 | path: '/Dashboard',
35 | name: 'Dashboard',
36 | component: Dashboard
37 | },
38 | {
39 | path: '/Delete/:id',
40 | name: 'Delete',
41 | component: () => import(/* webpackChunkName: "group-foo" */ '@/views/Delete.vue')
42 | },
43 | {
44 | path: '/Update/:id',
45 | name: 'Update',
46 | component: () => import(/* webpackChunkName: "group-foo" */ '@/views/Update.vue')
47 | },
48 | {
49 | path: '/contact',
50 | name: 'Contact',
51 | component: Contact
52 | }
53 | ,
54 | {
55 | path: '/Add',
56 | name: 'Add',
57 | component: () => import(/* webpackChunkName: "group-foo" */ '@/views/Add.vue')
58 | }
59 | ]
60 |
61 | const router = createRouter({
62 | history: createWebHistory(process.env.BASE_URL),
63 | routes
64 | })
65 |
66 | export default router
67 |
--------------------------------------------------------------------------------
/VueApp/src/store/index.js:
--------------------------------------------------------------------------------
1 | import { createStore } from 'vuex'
2 | import { ref } from 'vue';
3 |
4 | export default createStore({
5 | state: {
6 | isAuthed: ref(false),
7 | username: ''
8 | },
9 | getters: {
10 |
11 | },
12 | mutations: {
13 |
14 | },
15 | actions: {
16 |
17 | },
18 | modules: {
19 | }
20 | })
--------------------------------------------------------------------------------
/VueApp/src/views/AuthPage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | you have account ? Login Now
8 |
9 |
10 |
11 |
12 |
13 | New here ? so register
14 |
15 |
16 |
17 |
18 |
19 |
31 |
--------------------------------------------------------------------------------
/VueApp/src/views/Contact.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
This is Contact Pages
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/VueApp/src/views/Dashboard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
My Space
5 |
6 |
9 |
10 |
You Have no Appointments yet 🕶
11 |
12 |
13 |
14 |
15 | ADD
16 | add
17 |
18 |
19 |
20 |
21 |
22 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/VueApp/src/views/Delete.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Cancle Appointment
8 |
Are you Sure You Want To Cancle This Appointment
9 |
10 |
11 |
12 | No Go Back
13 | keyboard_backspace
14 |
15 |
16 | Cancle Now
17 | delete_forever
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
47 |
--------------------------------------------------------------------------------
/VueApp/src/views/Home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Welcome to Quick.Rd
8 |
9 |
Best Appointment System for Your business
10 |
11 |
check GET STARTED
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
36 |
37 |
38 |
74 |
--------------------------------------------------------------------------------