This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
CityWebShop CMS — a Budapest real estate and accommodation booking platform. Handles property listings (sale/rent), hotel/tourism accommodations, partner dashboards, reservations, and content management. Multi-language (Hungarian/English).
This is a traditional PHP app served directly by Apache/Nginx. No build commands or test suite exist.
index.php.htaccess (forces HTTPS, rewrites to index.php)sql/openws.sqlapplication/config/config.phpsystem/)system/pip.php — The router. Parses URL segments and dispatches to controllers. Contains complex route mappings for properties, offices, blog, map, events, API, etc. Property URLs include Budapest district normalization (Roman numerals to text).system/controller.php — Base controller with loadModel(), loadView(), loadHelper(), redirect().system/model.php — Base model extending mysqli directly. Methods: query(), execute(), escapeString(), escapeArray(), getLastInsertID(). No ORM — all queries are raw SQL.system/view.php — Template engine using PHP extract() and output buffering. Supports partner-specific view overrides via $_SESSION['realladev'].application/)application/controllers/): ~20 controllers. Key ones: admin.php (dashboard/auth), api.php (REST endpoints), property.php (listings), map.php (spatial search), offices.php, auth.php (user registration).application/models/): ~47 models with raw SQL. Largest: map_model.php (spatial property search), api_model.php (external API integration with cURL), partners.php (partner/vendor logic).application/views/): ~121 PHP templates. Admin views prefixed admin_*. Email templates in views/mails/.application/helpers/): admin_utils.php (settings, roles, translations), common.php (DB connection, IP validation), lang.php (translation lookup), formatize.php (currency, favorites cookies).qrcode.php — QR code generationexportdata.php — Hotel data CSV export, updates admin dashboard via serialized arrayspdf.php, pdf_property.php — TCPDF-based PDF export for properties/api/ routes → api.php controller → api_model.php)External API integration with HopOnTicket (hotels, products, events, reservations). The model uses cURL to proxy calls to https://hoponticket.com/api/index.php. Key endpoints: getGroupsList, getProductsList, getEventslist, initialize (start transaction), reservation, order, paymentstatus, validate (reCAPTCHA v3).
index.php)azonics_roles table: 11=superadmin, 13=manager, 14=vendor, 1=basic user$_SESSION['realladev']azonics_* (CMS content), hiper_ingatlan* (properties), hiper_munkatars (agents)azonics_translations table with language-keyed lookupssql/openws.sqlURLs are parsed by system/pip.php segment-by-segment. Examples:
/admin/login/ → admin::login/elado/lakas/budapest-i-kerulet/filter → property::search (with district normalization)/api/getgroupslist → api::getgroupslist/rockhome-irodak/ → offices::index$this->view->set('key', $value) then $this->view->render('view_name')admin_utils.php helperstatic/ (CSS, JS, fonts, plugins, uploads)application/partners/{partner}/, it's used instead of the default