You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
<?php
|
|
function ajax_customCategory ($param) {
|
|
global $db;
|
|
|
|
if (!$db) {
|
|
return null;
|
|
}
|
|
|
|
if ($param['id']) {
|
|
$stmt = $db->prepare("select content from customCategory where id=:id");
|
|
$stmt->bindValue(':id', $param['id'], PDO::PARAM_STR);
|
|
if ($stmt->execute()) {
|
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
$result = $row['content'];
|
|
$stmt->closeCursor();
|
|
|
|
customCategoryUpdateAccess($param['id']);
|
|
|
|
return $result;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
if ($param['content']) {
|
|
$id = md5($param['content']);
|
|
|
|
$stmt = $db->prepare("insert or ignore into customCategory (id, content) values (:id, :content)");
|
|
$stmt->bindValue(':id', $id, PDO::PARAM_STR);
|
|
$stmt->bindValue(':content', $param['content'], PDO::PARAM_STR);
|
|
$result = $stmt->execute();
|
|
|
|
customCategoryUpdateAccess($id);
|
|
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
function customCategoryUpdateAccess ($id) {
|
|
global $db;
|
|
|
|
if (!isset($_SESSION['customCategoryAccess'])) {
|
|
$_SESSION['customCategoryAccess'] = [];
|
|
}
|
|
|
|
// update access per session only once a day
|
|
if (array_key_exists($id, $_SESSION['customCategoryAccess']) && $_SESSION['customCategoryAccess'][$id] > time() - 86400) {
|
|
return;
|
|
}
|
|
|
|
$_SESSION['customCategoryAccess'][$id] = time();
|
|
|
|
$stmt = $db->prepare("insert into customCategoryAccess (id) values (:id)");
|
|
$stmt->bindValue(':id', $id);
|
|
$stmt->execute();
|
|
}
|