// CUMRAPOSTASI.COM - Bağımsız PHP Sistemi Giriş Noktası (Front Controller) require_once __DIR__ . '/core/Cache.php'; Cache::init(); Cache::serveCache(); Cache::startRecording(); require_once __DIR__ . '/config.php'; require_once __DIR__ . '/core/DB.php'; require_once __DIR__ . '/core/Router.php'; require_once __DIR__ . '/core/Template.php'; $router = new Router(); // 1. Statik Sayfalar $router->add('iletisim', 'PageController', 'contact'); $router->add('kunye', 'PageController', 'editorial'); $router->add('hakkimizda', 'PageController', 'about'); $router->add('sitemap\.xml', 'PageController', 'sitemap'); $router->add('feed', 'PageController', 'feed'); $router->add('dovizler', 'PageController', 'dovizler'); $router->add('hava-durumu', 'PageController', 'havadurumu'); $router->add('namaz-vakitleri', 'PageController', 'namazvakitleri'); $router->add('gazeteler', 'PageController', 'gazeteler'); $router->add('([a-zA-Z0-9-_]+)-nobetci-eczaneler', 'PageController', 'eczane'); // 1b. Üyelik ve Abonelik Rotaları $router->add('uye/kaydol', 'UserController', 'register'); $router->add('uye/giris', 'UserController', 'login'); $router->add('uye/cikis', 'UserController', 'logout'); $router->add('uye/profil', 'UserController', 'profile'); $router->add('api/yazar-takip', 'UserController', 'followToggle'); $router->add('api/abone-ol', 'UserController', 'subscribe'); // 2. Kategori Rotası (Sayfalamalı ve Normal) $router->add('kat/([a-zA-Z0-9-_]+)/sayfa/([0-9]+)', 'CategoryController', 'index'); $router->add('kat/([a-zA-Z0-9-_]+)', 'CategoryController', 'index'); $router->add('kategori/([a-zA-Z0-9-_]+)/sayfa/([0-9]+)', 'CategoryController', 'redirectLegacy'); $router->add('kategori/([a-zA-Z0-9-_]+)', 'CategoryController', 'redirectLegacy'); // 2b. Yazar Rotası (Sayfalamalı ve Normal) $router->add('yazarlar', 'AuthorController', 'list'); $router->add('yazar/([a-zA-Z0-9-_]+)/sayfa/([0-9]+)', 'AuthorController', 'index'); $router->add('yazar/([a-zA-Z0-9-_]+)', 'AuthorController', 'index'); // 3. Yönetim Paneli Rotaları $router->add('admin', 'AdminController', 'login'); $router->add('admin/logout', 'AdminController', 'logout'); $router->add('admin/dashboard', 'AdminController', 'dashboard'); $router->add('admin/news', 'AdminController', 'newsList'); $router->add('admin/news/add', 'AdminController', 'newsAdd'); $router->add('admin/news/edit/([0-9]+)', 'AdminController', 'newsEdit'); $router->add('admin/news/delete/([0-9]+)', 'AdminController', 'newsDelete'); $router->add('admin/settings', 'AdminController', 'settings'); $router->add('admin/kunye', 'AdminController', 'kunyeSettings'); $router->add('admin/widgets', 'AdminController', 'widgets'); $router->add('admin/widgets/add', 'AdminController', 'widgetAdd'); $router->add('admin/widgets/edit/([0-9]+)', 'AdminController', 'widgetEdit'); $router->add('admin/widgets/delete/([0-9]+)', 'AdminController', 'widgetDelete'); $router->add('admin/categories', 'AdminController', 'categoryList'); $router->add('admin/categories/add', 'AdminController', 'categoryAdd'); $router->add('admin/categories/edit/([0-9]+)', 'AdminController', 'categoryEdit'); $router->add('admin/categories/delete/([0-9]+)', 'AdminController', 'categoryDelete'); $router->add('admin/menus', 'AdminController', 'menuList'); $router->add('admin/menus/add-item', 'AdminController', 'menuAddItem'); $router->add('admin/menus/save-structure', 'AdminController', 'menuSaveStructure'); $router->add('admin/menus/delete-item/([0-9]+)', 'AdminController', 'menuDeleteItem'); $router->add('admin/users', 'AdminController', 'userList'); $router->add('admin/users/add', 'AdminController', 'userAdd'); $router->add('admin/users/edit/([0-9]+)/([a-zA-Z0-9-_]+)', 'AdminController', 'userEdit'); $router->add('admin/users/delete/([0-9]+)/([a-zA-Z0-9-_]+)', 'AdminController', 'userDelete'); // 4. Arama Rotası $router->add('', 'HomeController', 'index'); // Anasayfa eşleşmesi query parametre ile gelirse de HomeController çalışır // 5. Arama '?s=' Router.php fallback'i içindedir. // Çalıştır $router->run(); Cache::saveRecording();