Skip to content

Commit

Permalink
replace name generator method
Browse files Browse the repository at this point in the history
  • Loading branch information
nokonoko committed Apr 13, 2024
1 parent 77a1062 commit 9184e8d
Show file tree
Hide file tree
Showing 14 changed files with 1,141 additions and 1,148 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ composer.lock
docker/uguuForDocker.tar.gz
!/.php-cs-fixer.cache
test.php
.php-cs-fixer.cache
10 changes: 2 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ See the real world site at [uguu.se](https://uguu.se).

## Requirements

Tested and working with Nginx + PHP-8.1 + SQLite/MySQL/PostgreSQL + Node.js 18 or higher.
Tested and working with Nginx + PHP-8.3 + SQLite/MySQL/PostgreSQL + Node.js 18 or higher.

Node.js is used to compile Uguu, after that it runs on PHP.

Expand All @@ -47,19 +47,13 @@ Hit me up at [@nekunekus](https://twitter.com/nekunekus) or email me at neku@pom

We'd really like if you can take some time to make sure your coding style is
consistent with the project. Uguu follows [PHP
PSR-12](https://www.php-fig.org/psr/psr-12/) and [Airbnb JavaScript
PSR-2](https://www.php-fig.org/psr/psr-12/) and [Airbnb JavaScript
(ES5)](https://github.com/airbnb/javascript/tree/es5-deprecated/es5) (`airbnb/legacy`)
coding style guides. We use ESLint and PHPCS tools to enforce these standards.

You can also help by sending us feature requests or writing documentation and
tests.

## Upcoming Features

* S3 Bucket Support
* Azure File Storage Support
* Temporal/RR Support

## Credits

Uguu is based on [Pomf](http://github.com/pomf/pomf) which was written by Emma Lejack & Go Johansson (nekunekus (nokonoko)) and with help from the open source community.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "uguu",
"version": "1.8.4",
"version": "1.8.5",
"description": "Uguu is a simple lightweight temporary file host with support for drop, paste, click and API uploading.",
"homepage": "https://uguu.se",
"repository": {
Expand Down
157 changes: 80 additions & 77 deletions src/Classes/Connector.php
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();
}
}
106 changes: 53 additions & 53 deletions src/Classes/CuteGrills.php
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);
}
}
Loading

0 comments on commit 9184e8d

Please sign in to comment.