-
Notifications
You must be signed in to change notification settings - Fork 113
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
1,141 additions
and
1,148 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,3 +13,4 @@ composer.lock | |
docker/uguuForDocker.tar.gz | ||
!/.php-cs-fixer.cache | ||
test.php | ||
.php-cs-fixer.cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,87 +1,90 @@ | ||
<?php | ||
/* | ||
* Uguu | ||
* | ||
* @copyright Copyright (c) 2022-2024 Go Johansson (nokonoko) <[email protected]> | ||
* | ||
* Note that this was previously distributed under the MIT license 2015-2022. | ||
* | ||
* If you are a company that wants to use Uguu I urge you to contact me to | ||
* solve any potential license issues rather then using pre-2022 code. | ||
* | ||
* A special thanks goes out to the open source community around the world | ||
* for supporting and being the backbone of projects like Uguu. | ||
* | ||
* This project can be found at <https://github.com/nokonoko/Uguu>. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
namespace Pomf\Uguu\Classes; | ||
|
||
use PDO; | ||
|
||
class Connector extends Database | ||
/* | ||
* Uguu | ||
* | ||
* @copyright Copyright (c) 2022-2024 Go Johansson (nokonoko) <[email protected]> | ||
* | ||
* Note that this was previously distributed under the MIT license 2015-2022. | ||
* | ||
* If you are a company that wants to use Uguu I urge you to contact me to | ||
* solve any potential license issues rather then using pre-2022 code. | ||
* | ||
* A special thanks goes out to the open source community around the world | ||
* for supporting and being the backbone of projects like Uguu. | ||
* | ||
* This project can be found at <https://github.com/nokonoko/Uguu>. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
namespace Pomf\Uguu\Classes; | ||
|
||
use PDO; | ||
use Random\Randomizer; | ||
|
||
class Connector extends Database | ||
{ | ||
public PDO $DB; | ||
public string $dbType; | ||
public array $CONFIG; | ||
public Response $response; | ||
public Randomizer $randomizer; | ||
|
||
public function errorHandler(int $errno, string $errstr):void | ||
{ | ||
public PDO $DB; | ||
public string $dbType; | ||
public array $CONFIG; | ||
public Response $response; | ||
if ($this->CONFIG['DEBUG']) { | ||
$this->response->error(500, 'Server error: ' . $errstr); | ||
} else { | ||
$this->response->error(500, 'Server error.'); | ||
} | ||
} | ||
|
||
public function errorHandler(int $errno, string $errstr):void | ||
{ | ||
public function fatalErrorHandler():void | ||
{ | ||
if (!is_null($e = error_get_last())) { | ||
if ($this->CONFIG['DEBUG']) { | ||
$this->response->error(500, 'Server error: ' . $errstr); | ||
$this->response->error(500, 'FATAL Server error: ' . print_r($e, true)); | ||
} else { | ||
$this->response->error(500, 'Server error.'); | ||
} | ||
} | ||
} | ||
|
||
public function fatalErrorHandler():void | ||
{ | ||
if (!is_null($e = error_get_last())) { | ||
if ($this->CONFIG['DEBUG']) { | ||
$this->response->error(500, 'FATAL Server error: ' . print_r($e, true)); | ||
} else { | ||
$this->response->error(500, 'Server error.'); | ||
} | ||
} | ||
} | ||
|
||
/** | ||
* Reads the config.json file and populates the CONFIG property with the settings | ||
* Also assembles the PDO DB connection and registers error handlers. | ||
* | ||
*/ | ||
public function __construct() | ||
{ | ||
$this->response = new Response('json'); | ||
if (!file_exists(__DIR__ . '/../config.json')) { | ||
$this->response->error(500, 'Cant read settings file.'); | ||
} | ||
$this->CONFIG = json_decode( | ||
file_get_contents(__DIR__ . '/../config.json'), | ||
true, | ||
); | ||
ini_set('display_errors', 0); | ||
set_error_handler([$this, "errorHandler"]); | ||
register_shutdown_function([$this, "fatalErrorHandler"]); | ||
$this->dbType = $this->CONFIG['DB_MODE']; | ||
$this->DB = new PDO( | ||
$this->CONFIG['DB_MODE'] . ':' . $this->CONFIG['DB_PATH'], | ||
$this->CONFIG['DB_USER'], | ||
$this->CONFIG['DB_PASS'], | ||
); | ||
/** | ||
* Reads the config.json file and populates the CONFIG property with the settings | ||
* Also assembles the PDO DB connection and registers error handlers. | ||
* | ||
*/ | ||
public function __construct() | ||
{ | ||
$this->response = new Response('json'); | ||
if (!file_exists(__DIR__ . '/../config.json')) { | ||
$this->response->error(500, 'Cant read settings file.'); | ||
} | ||
} | ||
$this->CONFIG = json_decode( | ||
file_get_contents(__DIR__ . '/../config.json'), | ||
true, | ||
); | ||
ini_set('display_errors', 0); | ||
set_error_handler([$this, "errorHandler"]); | ||
register_shutdown_function([$this, "fatalErrorHandler"]); | ||
$this->dbType = $this->CONFIG['DB_MODE']; | ||
$this->DB = new PDO( | ||
$this->CONFIG['DB_MODE'] . ':' . $this->CONFIG['DB_PATH'], | ||
$this->CONFIG['DB_USER'], | ||
$this->CONFIG['DB_PASS'], | ||
); | ||
$this->randomizer = new Randomizer(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,60 +1,60 @@ | ||
<?php | ||
/* | ||
* Uguu | ||
* | ||
* @copyright Copyright (c) 2022-2024 Go Johansson (nokonoko) <[email protected]> | ||
* | ||
* Note that this was previously distributed under the MIT license 2015-2022. | ||
* | ||
* If you are a company that wants to use Uguu I urge you to contact me to | ||
* solve any potential license issues rather then using pre-2022 code. | ||
* | ||
* A special thanks goes out to the open source community around the world | ||
* for supporting and being the backbone of projects like Uguu. | ||
* | ||
* This project can be found at <https://github.com/nokonoko/Uguu>. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
namespace Pomf\Uguu\Classes; | ||
/* | ||
* Uguu | ||
* | ||
* @copyright Copyright (c) 2022-2024 Go Johansson (nokonoko) <[email protected]> | ||
* | ||
* Note that this was previously distributed under the MIT license 2015-2022. | ||
* | ||
* If you are a company that wants to use Uguu I urge you to contact me to | ||
* solve any potential license issues rather then using pre-2022 code. | ||
* | ||
* A special thanks goes out to the open source community around the world | ||
* for supporting and being the backbone of projects like Uguu. | ||
* | ||
* This project can be found at <https://github.com/nokonoko/Uguu>. | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
class CuteGrills | ||
{ | ||
public array $GRILLS; | ||
namespace Pomf\Uguu\Classes; | ||
|
||
class CuteGrills | ||
{ | ||
public array $GRILLS; | ||
|
||
/** | ||
* Loads the list of grills, then redirects to a random grill | ||
*/ | ||
public function showGrills():void | ||
{ | ||
$this->loadGrills(); | ||
if (!headers_sent()) { | ||
header( | ||
'Location: /img/grills/' . | ||
/** | ||
* Loads the list of grills, then redirects to a random grill | ||
*/ | ||
public function showGrills():void | ||
{ | ||
$this->loadGrills(); | ||
if (!headers_sent()) { | ||
header( | ||
'Location: /img/grills/' . | ||
$this->GRILLS[array_rand($this->GRILLS)], | ||
true, | ||
303, | ||
); | ||
} | ||
true, | ||
303, | ||
); | ||
} | ||
} | ||
|
||
/** | ||
* Loads the images from the `img/grills/` directory into the `GRILLS` array | ||
*/ | ||
public function loadGrills():void | ||
{ | ||
$this->GRILLS = array_slice(scandir('img/grills/'), 2); | ||
} | ||
/** | ||
* Loads the images from the `img/grills/` directory into the `GRILLS` array | ||
*/ | ||
public function loadGrills():void | ||
{ | ||
$this->GRILLS = array_slice(scandir('img/grills/'), 2); | ||
} | ||
} |
Oops, something went wrong.