function getPostById($id)
{
    return storageGetItemById(ENTTY_POST, $id);
    /*$items = getAllPosts();
        foreach ($items as $storedItem) {
            if ($storedItem['id'] == $id) {
                return $storedItem;
            }
    
        }
    
        return null;*/
}
function storageGetItemBy($entity, $attribute, $criteria)
{
    $items = [];
    $files = scandir(DB_DIR);
    foreach ($files as $filename) {
        list($id) = sscanf($filename, getFilenamePattern($entity));
        if ($id) {
            $item = storageGetItemById($entity, $id);
            if ($item && isset($item[$attribute]) && $item[$attribute] == $criteria) {
                $items[] = $item;
            }
        }
    }
    return $items;
}
Esempio n. 3
0
/**
 * @param string $entity имя сущности.
 * @param array $item сущность.
 * @return bool статус выполнения операции.
 */
function storageSaveItem($entity, array &$item)
{
    $id = isset($item['id']) ? $item['id'] : 0;
    $storedItem = storageGetItemById($entity, (int) $id) ?: [];
    if ($id && !$storedItem) {
        return false;
    }
    $item = array_merge($storedItem, $item);
    if (!$id) {
        $items = storageGetAll($entity);
        foreach ($items as $storedItem) {
            if ($storedItem['id'] > $id) {
                $id = $storedItem['id'];
            }
        }
        $id += 1;
    }
    $item['id'] = (int) $id;
    $filename = storageCreateFilenameItem($entity, $id);
    $status = file_put_contents($filename, json_encode($item), LOCK_EX);
    return (bool) $status;
}
Esempio n. 4
0
/**
 * @param int $id уникальный идентификатор пользователя.
 * @return array|null возвращает пользователя по идентификатору.
 */
function userGetById($id)
{
    return storageGetItemById(ENTITY_USER, (int) $id);
}
function getUserById($id)
{
    return storageGetItemById(ENTTY_USER, $id);
}
Esempio n. 6
0
/**
 * @param int $id уникальный идентификатор записи.
 * @return array|null возвращает запись в блоге по идентификатору.
 */
function getPostById($id)
{
    return storageGetItemById(ENTITY_POST, (int) $id);
}