71 lines
1.4 KiB
PHP
71 lines
1.4 KiB
PHP
<?php
|
|
require_once __DIR__ . "/config.php";
|
|
|
|
$pdo = connectDatabase($dsn, $pdoOptions);
|
|
|
|
/** Function tries to connect to database using PDO
|
|
* @param string $dsn
|
|
* @param array $pdoOptions
|
|
* @return PDO
|
|
*/
|
|
function connectDatabase(string $dsn, array $pdoOptions): PDO
|
|
{
|
|
|
|
try {
|
|
$pdo = new PDO($dsn, PARAMS['USER'], PARAMS['PASSWORD'], $pdoOptions);
|
|
} catch (\PDOException $e) {
|
|
var_dump($e->getCode());
|
|
throw new \PDOException($e->getMessage());
|
|
}
|
|
|
|
return $pdo;
|
|
}
|
|
|
|
function parseCategories(string $cat_string)
|
|
{
|
|
$cat_string = trim($cat_string);
|
|
$cats = explode(" ", $cat_string);
|
|
|
|
$filtered_cats = array_filter($cats, function($cat) {
|
|
if(mb_strlen($cat) <= 4)
|
|
return false;
|
|
|
|
return(ctype_alnum($cat));
|
|
});
|
|
|
|
return $filtered_cats;
|
|
}
|
|
|
|
function insertCategories(array $cats) {
|
|
global $pdo;
|
|
|
|
try {
|
|
$pdo->beginTransaction();
|
|
|
|
$stmt = $pdo->prepare("INSERT INTO categories (name, code) VALUES (:name, :code)");
|
|
foreach ($cats as $cat_code => $cat_name) {
|
|
$stmt->execute([
|
|
':name' => $cat_name,
|
|
':code' => $cat_code
|
|
]);
|
|
}
|
|
|
|
$pdo->commit();
|
|
}
|
|
catch (Exception $e) {
|
|
$pdo->rollBack();
|
|
throw $e;
|
|
}
|
|
}
|
|
|
|
class User {
|
|
function createUser() {
|
|
|
|
}
|
|
function createUserStmt() {
|
|
|
|
}
|
|
function createUsers() {
|
|
|
|
}
|
|
} |