{"CLASS":"Section"}
{"INPUT":{"debug":"1"}}
{"OPTIONS":{"app":"locus","dir":"app\/","tpl":"granum","\/\/tpl":"granum|d1|none","date_format":"Y-m-d H:i","db":["app\/data\/locus.sqlite"],"password":"$2y$10$JUfAMGJW4cIMP81B5okomePpccUrxFMqwpsn.xVDzBqYbPIH8QlJ6","semantic_url":true,"asset_version":true,"allow_content":["unpkg.com","jsdelivr.com","jquery.com","picsum.photos","youtube.com"],"logfile":"app\/tmp\/{type}-{Y-m}.log","admin_email":"vadimkor@ya.ru","fake_email":true,"\/\/recaptcha":["site-key","secret-key"],"\/\/icon":"asset\/favicon.png","icon":"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 10 10'%3E%3Cpath fill='%2305b' d='M2 4a3 3 0 0 1 6 0q0 2 -3 5q-3-3-3-5zm3 -2a2 2 0 1 0 .01 0z'\/%3E%3C\/svg%3E","css":"asset\/app.css","js":"asset\/app.js","\/\/route":"view","routes":{"file":["f","Load"],"search":["search","Finder"],"profile":["profile","Profiler"],"api":["api","API"],"edit":["edit","Editor"],"add":["add","Editor"],"delete":["del","Editor"],"sql":["sql","RunSQL"],"phpinfo":["pi","SysInfo"],"view":["","Section"]},"sub":"projects\/locus\/","path":"en\/features","request":"en\/features","debug":"1","route":"view"}}
DB connection (class: Sqlite) [sqlite:app/data/locus.sqlite]: (0 msec) OK
SQL#1 (0 msec) [OK 0] [pragma foreign_keys = ON]
SQL#2 (0 msec) [OK 0] [select * from sec where url = :key limit 1 offset 0] {Array
(
[key] => en/features
)
}
ROW: Array
(
[id] => 1026
[sec_id] => 37
[dst_sec_id] =>
[url] => en/features
[e] => 1
[zone] => nav
[nm] => Features
[excerpt] =>
[body] => ### ::info:: Common
- Handy user interface
- Light on resources
- High performance
- Modularity
- Extendability
- Multilingual support
- Cross-browser
- Responsive
- Mobile friendly
- SEO friendly
### ::edit:: Content
- Unlimited hierarchy
- Automatic menu generation
- Custom menus
- Breadcrumbs
- Plain text and formatted with [Markdown](https://github.com/erusev/parsedown)
- Media management
- Image gallery, automatic thumbnails generation
- Featured images
- Icons
- Custom forms
- Code embed (counters, maps, videos, banners, etc.)
- Plugins insertion
- Publications planned for future
- By-page navigation
### ::grid:: Modules
- Image gallery with automatic thumbnails generation
- Navigation
- Inclusion of articles from other sections
- Languages menu
- Slides ([Slick](https://kenwheeler.github.io/slick/) carousel)
- Teasers
- Tabs
- Custom forms with various fields, robot protection, e-mail notification
- [Charts](https://www.chartjs.org/) and tables
- Search in articles and uploaded files
### ::ok:: Administration
- SQL queries execution
- Custom pages "404 Not found" and "401 Unauthorized"
### ::lock:: Security
- Sections with restricted access
- Single use CSRF tokens for performing actions
- Form protection from robots
### ::find:: SEO
- Semantic URLs
- Customizable ``h1`` headings, ``title``, ``description``
- Fast response
- Valid code (UTF-8, HTML5, CSS3)
- Mobile-friendly
### ::config:: Developer
- Works with SQLite database
- Frontend uses [d1-web](https://github.com/vvvkor/d1-web)
- Simple design integration
[seq] => 2
[h1] =>
[title] =>
[descr] =>
[pub_dt] => 0
[fn] =>
[icon] =>
)
SQL#3 (0 msec) [OK 0] [select id, e, sec_id, dst_sec_id, nm, h1, title, url, zone, icon, seq, pub_dt from sec where (e=1 and pub_dt < :ut) and (sec_id is null) order by seq] {Array
(
[ut] => 1791545276
)
}
ROWS: 2
SQL#4 (0 msec) [OK 0] [select id, e, sec_id, dst_sec_id, nm, h1, title, url, zone, icon, seq, pub_dt from sec where (e=1 and pub_dt < :ut) order by seq] {Array
(
[ut] => 1791545276
)
}
ROWS: 84
SQL#5 (0 msec) [OK 0] [select * from sec where (e=1 and pub_dt < :ut) and (sec_id = :id and zone = :z) order by seq] {Array
(
[id] => 1026
[z] => content
[ut] => 1791545276
)
}
ROWS: 0
SQL#6 (0 msec) [OK 0] [select * from sec where (e=1 and pub_dt < :ut) and (sec_id = :id and zone = :z) order by seq] {Array
(
[id] => 1026
[z] => file
[ut] => 1791545276
)
}
ROWS: 0
SQL#7 (0 msec) [OK 0] [select * from sec where (e=1 and pub_dt < :ut) and (sec_id = :id and zone = :z) order by seq] {Array
(
[id] => 1026
[z] => aside
[ut] => 1791545276
)
}
ROWS: 0
SQL#8 (0 msec) [OK 0] [select * from sec where (e=1 and pub_dt < :ut) and (sec_id = :id and zone = :z) order by seq] {Array
(
[id] => 37
[z] => aside
[ut] => 1791545276
)
}
ROWS: 0