| | |
| | | <?php |
| | | namespace JVBase\rest; |
| | | |
| | | use JVBase\Instance; |
| | | use JVBase\integrations\services\Cloudflare; |
| | | use JVBase\managers\Cache; |
| | | use JVBase\managers\Errors; |
| | |
| | | */ |
| | | protected function checkUser(int $userId): bool |
| | | { |
| | | $cache = Cache::for('checkUser', DAY_IN_SECONDS)->connect('user'); |
| | | $cache = Cache::for('checkUser', 'user',DAY_IN_SECONDS); |
| | | return $cache->remember($userId, fn() => (bool) get_userdata($userId)); |
| | | } |
| | | |
| | | protected function checkArray(string $value, array $search, bool $lowercase = true):string|false |
| | | { |
| | | if ($lowercase) { |
| | | $value = strtolower($value); |
| | | } |
| | | |
| | | return in_array($value, $search) ? $value : false; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * Check if term exists (cached) |
| | | */ |
| | |
| | | return false; |
| | | } |
| | | |
| | | $cache = Cache::for('checkTerm', DAY_IN_SECONDS)->connect('taxonomy'); |
| | | $cache = Cache::for('checkTerm', 'term', DAY_IN_SECONDS); |
| | | return $cache->remember($termId, fn() => (bool) term_exists($termId, jvbCheckBase($taxonomy))); |
| | | } |
| | | |
| | |
| | | */ |
| | | protected function isVerifiedUser(int $userId): bool |
| | | { |
| | | $cache = Cache::for('verifiedUsers', DAY_IN_SECONDS)->connect('user'); |
| | | $cache = Cache::for('verifiedUsers', 'user',DAY_IN_SECONDS); |
| | | return $cache->remember($userId, fn() => user_can($userId, 'skip_moderation')); |
| | | } |
| | | |
| | |
| | | return $terms; |
| | | } |
| | | $ids = array_map('absint', explode(',',$value)); |
| | | $cache = Cache::for('term_data')->connect('taxonomy'); |
| | | $cache = Cache::for('term_data','term'); |
| | | $cache->flush(); |
| | | if (!array_key_exists($taxonomy, $terms)) { |
| | | $terms[$taxonomy] = []; |
| | | $registrar = Registrar::getInstance($taxonomy); |
| | | $terms[$taxonomy]['icon'] = $registrar ? $registrar->getIcon() : jvbDefaultIcon();; |
| | | $terms[$taxonomy]['icon'] = $registrar ? $registrar->getIcon() : jvbDefaultIcon(); |
| | | } |
| | | foreach ($ids as $id) { |
| | | $data = $cache->remember( |