diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..b664ba2a --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: awilum +open_collective: # Replace with a single Open Collective username +ko_fi: awilum +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: https://qiwi.com/p/79805359141 diff --git a/.gitignore b/.gitignore index a6bcec47..12c83275 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Composer .composer +composer.lock vendor/* !*/vendor/* diff --git a/.htaccess b/.htaccess index 79ca61d4..905605a5 100755 --- a/.htaccess +++ b/.htaccess @@ -1,8 +1,8 @@ ## # @package Flextype # -# @author Sergey Romanenko -# @link http://flextype.org +# @author Sergey Romanenko +# @link http://romanenko.digital # # For the full copyright and license information, please view the LICENSE # file that was distributed with this source code. diff --git a/CHANGELOG.md b/CHANGELOG.md index 59341474..fb0837ee 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,54 @@ +## [0.9.0] - 2019-06-14 +### Added +- Flextype Core: Slim Framework Integration! +- Flextype Core: Twig Template Engine Integration! +- Flextype Core: Whoops Error Handler Integration! +- Flextype Core: Monolog library Integration! +- Flextype Core: Slugify library Integration! +- Flextype Core: Complete Glide/Intervention Image Implemented for Image manipulation on fly! +- Flextype Core: New Event handler from The League of Extraordinary Packages for better event handling. +- Flextype Core: New Entries API +- Flextype Core: New Fieldsets API +- Flextype Core: New Snippets API +- Flextype Core: New Plugins API +- Flextype Core: New JSON Parser instead of old YAML Parser. +- Flextype Core: Using new languages files format and JSON extension instead of YAML. +- Flextype Core: Using JSON extension instead of YAML for all kind of data to store. +- Flextype Core: New CSRF service for better cross-site request forgery protection. +- Flextype Core: composer.json ext-json and ext-mbstring added into require section. +- Flextype Core: composer.json suggest section added. +- Flextype Core: composer.json: apcu-autoloader added for APCu cache as a fallback for the class map. +- Flextype Site: New plugin Site added. +- Flextype Core: Respect Validation - The most awesome validation engine ever created for PHP - added. +- Flextype Admin Panel: New admin panel plugin based on Slim Framework. +- Flextype Admin Panel: Fieldset Sections(groups) added. +- Flextype Admin Panel: New Field types - select, editor (instead of html) + +### Changed +- Flextype Core: Thunderer Shortcodes don't parse fields by default, need to use filter. +- Flextype Core: Thunderer Shortcodes updated to 0.7.2. +- Flextype Core: Flextype Components Arr updated to 1.2.5 +- Flextype Core: Flextype Components Number updated to 1.1.0 +- Admin Panel: Bootstrap updated to 4.3.1 +- Admin Panel: Codemirror updated to 5.43.0 +- Admin Panel: Trumbowyg updated to 2.18.0 +- Admin Panel: Settings Manager - locales list - improvements! + +### Fixed +- Admin Panel: Translates fixes. +- Admin Panel: Issue with js error for codemirror - fixed. +- Flextype Core: Plugins API - issue with plugins list fixed. + +### Removed +- Flextype Admin Panel: Menus Manager removed. +- Flextype Core: YAML Parser removed. +- Flextype Core: Symfony YAML Component removed. +- Flextype Core: Flextype Token Component removed. +- Flextype Core: Flextype Notification Component removed. +- Flextype Core: Flextype Error Handler Component removed. +- Flextype Core: Flextype Event Component removed. + + ## [0.8.3] - 2019-01-16 ### Added - Admin Panel: New Gorgeous Light Theme for Admin panel! diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fe7a9e9e..bbe2660e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,3 +7,4 @@ Flextype is an open source project and community contributions are essential to * Find and [report issues.](https://github.com/flextype/flextype/issues) * Link back to [Flextype](http://flextype.org). * [Donate to keep Flextype free.](http://flextype.org/about/sponsors) +* [Join Flextype International Translator Team](https://crowdin.com/project/flextype/invite) diff --git a/README.md b/README.md index bc628b83..4a60b389 100755 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ -# Flextype -[![Discord](https://img.shields.io/discord/423097982498635778.svg?logo=discord&colorB=728ADA&label=Discord%20Chat&style=flat-square)](https://discordapp.com/invite/CCKPKVG) -![Version](https://img.shields.io/badge/version-0.8.3-brightgreen.svg?style=flat-square) -![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square) ![preview](/site/plugins/admin/preview.png) +

+Version License Total downloads Crowdin Quality Score Discord + +

+ +# Flextype + Flextype is Open Source, fast and flexible file-based Content Management System. That's Easy to install, upgrade and use. Flextype provides amazing API's for plugins, themes and core developers! @@ -41,8 +44,11 @@ Make sure your server meets the following requirements. #### PHP extensions Flextype needs the following PHP extensions to be enabled: -- Multibyte String -- SPL +- PHP [mbstring](http://php.net/manual/en/book.mbstring.php) module for full UTF-8 support. +- PHP [gd](http://php.net/manual/en/book.image.php) module for image processing. +- PHP [json](https://php.net/manual/en/book.json.php) module for JSON manipulation. +- PHP [Fileinfo](https://www.php.net/manual/en/book.fileinfo.php) +- PHP [SPL](https://www.php.net/manual/en/book.spl.php) Although it is optional, we strongly recommend enabling the following PHP extensions: APC, APCu, XCache, Memcached, or Redis for better performance. @@ -64,7 +70,7 @@ Mobile #### Using (S)FTP -[Download the latest version.](http://flextype.org/download) +[Download the latest version.](http://flextype.org/en/downloads) Unzip the contents to a new folder on your local computer, and upload to your webhost using the (S)FTP client of your choice. After you’ve done this, be sure to chmod the following directories (with containing files) to 755(or 777), so they are readable and writable by Flextype: * `site/` @@ -77,16 +83,20 @@ You can easily install Flextype with Composer. composer create-project flextype/flextype ``` +Install vendor libs for Flextype +``` +composer install +``` + Install vendor libs for Default Theme ``` -composer install cd site/themes/default npm install gulp ``` -Install vendor libs for Admin Panel +Install vendor libs for Admin Panel plugin ``` cd site/plugins/admin @@ -95,6 +105,15 @@ npm install gulp ``` +Install vendor libs for Site plugin + +``` +cd site/plugins/site +composer install +npm install +gulp +``` + ## COMMUNITY Flextype is open source, community driven project, and maintained by community! @@ -120,17 +139,18 @@ With Flextype you can create any project you want. ## CONTRIBUTE Flextype is an open source project and community contributions are essential to its growing and success. Contributing to the Flextype is easy and you can give as little or as much time as you want. -* Help on the [Communities.](http://flextype.org/documentation/basics/getting-help) +* Help on the [Communities.](http://flextype.org/en/documentation/guide/basics/getting-help) * Develop a new plugin. * Create a new theme. * Find and [report issues.](https://github.com/flextype/flextype/issues) * Link back to [Flextype](http://flextype.org). -* [Donate to keep Flextype free.](http://flextype.org/about/sponsors) +* [Donate to keep Flextype free.](http://flextype.org/en/about/sponsors) +* [Join Flextype International Translator Team](https://crowdin.com/project/flextype/invite) ## LINKS - [Site](http://flextype.org) -- [Documentation](http://flextype.org/documentation) +- [Documentation](http://flextype.org/en/documentation) ## LICENSE diff --git a/composer.json b/composer.json index 2c8817c3..75697d21 100755 --- a/composer.json +++ b/composer.json @@ -1,15 +1,15 @@ { "name": "flextype/flextype", "type": "project", - "description": "Modern Open Source Flat-File Content Management System", + "description": "Build fast, flexible, easier to manage websites with Flextype.", "keywords": ["flextype", "php", "cms", "flat-file cms", "flat cms", "flatfile cms", "html"], "homepage": "http://flextype.org", "license": "MIT", "authors": [ { "name": "Sergey Romanenko", - "email": "awilum@yandex.ru", - "homepage": "https://github.com/Awilum" + "email": "hello@romanenko.digital", + "homepage": "http://romanenko.digital" } ], "support": { @@ -17,29 +17,51 @@ }, "require": { "php": ">=7.1.3", - "doctrine/cache": "1.8.0", - "symfony/yaml": "4.2.2", - "thunderer/shortcode": "0.7.0", - "flextype-components/arr" : "1.2.4", - "flextype-components/assets" : "1.0.1", + "ext-json": "*", + "ext-mbstring": "*", + + "doctrine/cache": "^1.8.0", + "thunderer/shortcode": "^0.7.2", + + "flextype-components/arr" : "1.2.5", + "flextype-components/assets" : "1.0.3", "flextype-components/cookie" : "1.2.0", "flextype-components/date" : "1.0.0", "flextype-components/debug" : "1.0.0", - "flextype-components/event" : "1.0.4", - "flextype-components/errorhandler" : "1.0.5", - "flextype-components/filesystem" : "1.1.5", - "flextype-components/form" : "1.0.2", + "flextype-components/filesystem" : "2.0.3", "flextype-components/i18n" : "1.2.0", - "flextype-components/http" : "1.1.1", - "flextype-components/html" : "1.0.0", - "flextype-components/number" : "1.0.0", - "flextype-components/notification" : "1.0.1", - "flextype-components/registry" : "1.1.0", + "flextype-components/number" : "1.1.0", + "flextype-components/registry" : "2.0.0", "flextype-components/session" : "1.1.1", - "flextype-components/token" : "1.2.0", - "flextype-components/view" : "1.1.1", "flextype-components/text" : "1.1.2", - "league/glide": "^1.4" + "flextype-components/form" : "1.0.2", + + "slim/slim": "^3.0", + "slim/twig-view": "^2.5", + "slim/flash": "^0.4.0", + "slim/csrf": "^0.8.3", + "zeuxisoo/slim-whoops": "^0.6.0", + + "league/glide-slim": "^1.0", + "league/event": "^2.2", + "league/glide": "^1.5", + + "respect/validation": "^1.0", + "monolog/monolog": "^1.24", + "cocur/slugify": "^3.2", + "oscarotero/psr7-middlewares": "^3.21" + }, + "suggest": { + "ext-zend-opcache": "Recommended for better performance", + "ext-memcache": "Needed to support Memcache servers", + "ext-memcached": "Needed to support Memcached servers", + "ext-redis": "Needed to support Redis servers" + }, + "config": { + "apcu-autoloader": true, + "platform": { + "php": "7.1.3" + } }, "autoload": { "classmap": [ diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 00000000..febbcf72 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,3 @@ +files: + - source: /site/plugins/admin/lang/en_US.json + translation: /site/plugins/admin/lang/%locale_with_underscore%.json diff --git a/flextype/Cache.php b/flextype/Cache.php deleted file mode 100755 index e1049ae5..00000000 --- a/flextype/Cache.php +++ /dev/null @@ -1,365 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\Registry\Registry; -use \Doctrine\Common\Cache as DoctrineCache; - -class Cache -{ - /** - * An instance of the Cache class - * - * @var object - * @access private - */ - private static $instance = null; - - /** - * Unique cache key - * - * @var string Cache key. - */ - protected static $key; - - /** - * Lifetime - * - * @var int Lifetime. - */ - protected static $lifetime; - - /** - * Current time - * - * @var int Current time. - */ - protected static $now; - - /** - * Cache Driver - * - * @var DoctrineCache - */ - protected static $driver; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Cache::init(); - } - - /** - * Init Cache - * - * @access protected - * @return void - */ - protected static function init() : void - { - // Create Cache Directory - !Filesystem::dirExists(PATH['cache']) and Filesystem::createDir(PATH['cache']); - - // Set current time - Cache::$now = time(); - - // Create cache key to allow invalidate all cache on configuration changes. - Cache::$key = (Registry::get('settings.cache.prefix') ?? 'flextype') . '-' . md5(PATH['site'] . Flextype::VERSION); - - // Get Cache Driver - Cache::$driver = Cache::getCacheDriver(); - - // Set the cache namespace to our unique key - Cache::$driver->setNamespace(Cache::$key); - } - - /** - * Get Cache Driver - * - * @access public - * @return object - */ - public static function getCacheDriver() - { - $driver_name = Registry::get('settings.cache.driver'); - - $cache_directory = PATH['cache'] . '/doctrine/'; - - if (!$driver_name || $driver_name == 'auto') { - if (extension_loaded('apcu')) { - $driver_name = 'apcu'; - } elseif (extension_loaded('apc')) { - $driver_name = 'apc'; - } elseif (extension_loaded('wincache')) { - $driver_name = 'wincache'; - } elseif (extension_loaded('xcache')) { - $driver_name = 'xcache'; - } else { - $driver_name = 'file'; - } - } - - switch ($driver_name) { - // The ApcCache driver uses the apc_fetch, apc_exists, etc. functions - // that come with PHP so no additional setup is required in order to use it. - case 'apc': - $driver = new DoctrineCache\ApcCache(); - break; - // The ApcuCache driver uses the apcu_fetch, apcu_exists, etc. functions - // that come with PHP so no additional setup is required in order to use it. - case 'apcu': - $driver = new DoctrineCache\ApcuCache(); - break; - // The ArrayCache driver stores the cache data in PHPs memory and is not persisted anywhere. - // This can be useful for caching things in memory for a single process when you don't need the cache to be persistent across processes. - case 'array': - $driver = new DoctrineCache\ArrayCache(); - break; - // The WinCacheCache driver uses the wincache_ucache_get, wincache_ucache_exists, etc. functions - // that come with the wincache extension - // http://php.net/manual/en/book.wincache.php - case 'wincache': - $driver = new DoctrineCache\WinCacheCache(); - break; - // The XcacheCache driver uses functions that come with the xcache extension - // https://xcache.lighttpd.net - case 'xcache': - $driver = new DoctrineCache\XcacheCache(); - break; - // The MemcacheCache drivers stores the cache data in Memcache. - case 'memcache': - $memcache = new \Memcache(); - $memcache->connect( - Registry::get('settings.cache.memcache.server', 'localhost'), - Registry::get('settings.cache.memcache.port', 11211) - ); - $driver = new DoctrineCache\MemcacheCache(); - $driver->setMemcache($memcache); - break; - // The MemcachedCache drivers stores the cache data in Memcached. - case 'memcached': - $memcached = new \Memcached(); - $memcached->addServer( - Registry::get('settings.cache.memcached.server', 'localhost'), - Registry::get('settings.cache.memcache.port', 11211) - ); - $driver = new DoctrineCache\MemcachedCache(); - $driver->setMemcached($memcached); - break; - // The SQLite3Cache driver stores the cache data in a SQLite database and depends on the sqlite3 extension - // http://php.net/manual/en/book.sqlite3.php - case 'sqlite3': - // Create doctrine cache directory if its not exists - !Filesystem::fileExists($cache_directory) and Filesystem::createDir($cache_directory); - - $db = new \SQLite3($cache_directory . Registry::get('settings.cache.sqlite3.database', 'flextype') . '.db'); - $driver = new DoctrineCache\SQLite3Cache($db, Registry::get('settings.cache.sqlite3.table', 'flextype')); - break; - // The ZendDataCache driver uses the Zend Data Cache API available in the Zend Platform. - case 'zend': - $driver = new DoctrineCache\ZendDataCache(); - break; - // The RedisCache driver stores the cache data in Redis and depends on the phpredis extension - // https://github.com/phpredis/phpredis - case 'redis': - $redis = new \Redis(); - $socket = Registry::get('settings.cache.redis.socket', false); - $password = Registry::get('settings.cache.redis.password', false); - - if ($socket) { - $redis->connect($socket); - } else { - $redis->connect( - Registry::get('settings.cache.redis.server', 'localhost'), - Registry::get('settings.cache.redis.port', 6379) - ); - } - - // Authenticate with password if set - if ($password && !$redis->auth($password)) { - throw new \RedisException('Redis authentication failed'); - } - - $driver = new DoctrineCache\RedisCache(); - $driver->setRedis($redis); - break; - default: - // Create doctrine cache directory if its not exists - !Filesystem::fileExists($cache_directory) and Filesystem::createDir($cache_directory); - $driver = new DoctrineCache\FilesystemCache($cache_directory); - break; - } - return $driver; - } - - /** - * Returns driver variable - * - * @access public - * @return object - */ - public static function driver() - { - return Cache::$driver; - } - - /** - * Get cache key. - * - * @access public - * @return string - */ - public static function getKey() : string - { - return Cache::$key; - } - - /** - * Fetches an entry from the cache. - * - * @access public - * @param string $id The id of the cache entry to fetch. - * @return mixed The cached data or FALSE, if no cache entry exists for the given id. - */ - public static function fetch(string $id) - { - if (Registry::get('settings.cache.enabled')) { - return Cache::$driver->fetch($id); - } else { - return false; - } - } - - /** - * Returns a boolean state of whether or not the item exists in the cache based on id key - * - * @param string $id the id of the cached data entry - * @return bool true if the cached items exists - */ - public static function contains($id) - { - if (Registry::get('settings.cache.enabled')) { - return Cache::$driver->contains(($id)); - } else { - return false; - } - } - - /** - * Puts data into the cache. - * - * @access public - * @param string $id The cache id. - * @param mixed $data The cache entry/data. - * @param int $lifetime The lifetime in number of seconds for this cache entry. - * If zero (the default), the entry never expires (although it may be deleted from the cache - * to make place for other entries). - */ - public static function save(string $id, $data, $lifetime = null) - { - if (Registry::get('settings.cache.enabled')) { - if ($lifetime === null) { - $lifetime = Cache::getLifetime(); - } - Cache::$driver->save($id, $data, $lifetime); - } - } - - /** - * Clear Cache - */ - public static function clear() : void - { - // Clear stat cache - @clearstatcache(); - - // Clear opcache - function_exists('opcache_reset') and @opcache_reset(); - - // Remove cache dirs - Filesystem::deleteDir(PATH['cache'] . '/doctrine/'); - Filesystem::deleteDir(PATH['cache'] . '/glide/'); - } - - /** - * Set the cache lifetime. - * - * @access public - * @param int $future timestamp - */ - public static function setLifetime(int $future) - { - if (!$future) { - return; - } - - $interval = $future - Cache::$now; - - if ($interval > 0 && $interval < Cache::getLifetime()) { - Cache::$lifetime = $interval; - } - } - - /** - * Retrieve the cache lifetime (in seconds) - * - * @access public - * @return mixed - */ - public static function getLifetime() - { - if (Cache::$lifetime === null) { - Cache::$lifetime = Registry::get('settings.cache.lifetime') ?: 604800; - } - - return Cache::$lifetime; - } - - /** - * Get the Cache instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Cache::$instance)) { - Cache::$instance = new self; - } - - return Cache::$instance; - } -} diff --git a/flextype/Entries.php b/flextype/Entries.php deleted file mode 100755 index 9e69769b..00000000 --- a/flextype/Entries.php +++ /dev/null @@ -1,500 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Arr\Arr; -use Flextype\Component\Http\Http; -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\Event\Event; -use Flextype\Component\Registry\Registry; -use Thunder\Shortcode\ShortcodeFacade; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -class Entries -{ - /** - * An instance of the Entry class - * - * @var object - * @access private - */ - private static $instance = null; - - /** - * Shortcode object - * - * @var object - * @access private - */ - private static $shortcode = null; - - /** - * Current entry data array - * - * @var array - * @access private - */ - private static $entry = []; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Entries::init(); - } - - /** - * Init Entry - * - * @access private - * @return void - */ - private static function init() : void - { - Entries::processCurrentEntry(); - } - - /** - * Process Current Entry - * - * @access private - * @return void - */ - private static function processCurrentEntry() : void - { - // Event: The entry is not processed and not sent to the display. - Event::dispatch('onCurrentEntryBeforeProcessed'); - - // Init Parsers - Entries::initParsers(); - - // Event: The entry has been not loaded. - Event::dispatch('onCurrentEntryBeforeLoaded'); - - // Set current requested entry data to global $entry array - Entries::$entry = Entries::getEntry(Http::getUriString()); - - // Event: The entry has been fully processed and not sent to the display. - Event::dispatch('onCurrentEntryBeforeDisplayed'); - - // Display entry for current requested url - Entries::displayCurrentEntry(); - - // Event: The entry has been fully processed and sent to the display. - Event::dispatch('onCurrentEntryAfterProcessed'); - } - - /** - * Get current entry - * - * $entry = Entries::getCurrentPage(); - * - * @access public - * @return array - */ - public static function getCurrentEntry() : array - { - return Entries::$entry; - } - - /** - * Update current entry - * - * Entries::updateCurrentPage('title', 'New entry title'); - * - * @access public - * @param string $path Array path - * @param mixed $value Value to set - * @return void - */ - public static function updateCurrentEntry(string $path, $value) : void - { - Arr::set(Entries::$entry, $path, $value); - } - - /** - * Get entry - * - * $entry = Entries::getEntry('projects'); - * - * @access public - * @param string $url Page url. - * @param bool $raw Parse content or raw content without parsing. - * @param bool $hidden Get hidden entries. - * @return array|string - */ - public static function getEntry(string $url = '', bool $raw = false, bool $hidden = false) - { - // If $url is empty then set path for default main entry - if ($url === '') { - $file_path = PATH['entries'] . '/' . Registry::get('settings.entries.main') . '/entry.html'; - } else { - $file_path = PATH['entries'] . '/' . $url . '/entry.html'; - } - - // If entry exist - if (Filesystem::fileExists($file_path)) { - $entry_cache_id = md5('entry' . $file_path . filemtime($file_path) . (($raw === true) ? 'true' : 'false') . (($hidden === true) ? 'true' : 'false')); - - // Try to get the entry from cache - if (Cache::contains($entry_cache_id)) { - return Cache::fetch($entry_cache_id); - } else { - - // Get raw entry if $raw is true - if ($raw) { - $entry = Entries::processEntry($file_path, true); - } else { - $entry = Entries::processEntry($file_path); - - // Don't proccess 404 entry if we want to get hidden entry. - if ($hidden === false) { - - // Get 404 entry if entry is not published - if (isset($entry['visibility']) && ($entry['visibility'] === 'draft' || $entry['visibility'] === 'hidden')) { - $entry = Entries::getError404Entry(); - } - } - } - - Cache::save($entry_cache_id, $entry); - return $entry; - } - } else { - return Entries::getError404Entry(); - } - } - - /** - * Get entries - * - * // Get list of subentries for entry 'projects' - * $entries = Entries::getEntries('projects'); - * - * // Get list of subentries for entry 'projects' and order by date and order type DESC - * $entries = Entries::getEntries('projects', false, 'date', 'DESC'); - * - * @access public - * @param string $url Page url. - * @param string $order_by Order by specific entry field. - * @param string $order_type Order type: DESC or ASC - * @param int $offset Offset - * @param int $length Length - * @param bool $multilevel Get nested entries or not. - * @param bool $raw Parse content or raw content without parsing. - * @return array - */ - public static function getEntries(string $url = '', string $order_by = 'date', string $order_type = 'DESC', int $offset = null, int $length = null, bool $multilevel = false, bool $raw = false) : array - { - // if $url is empty then set path for defined main entry - if ($url === '') { - $file_path = PATH['entries'] . '/'; - } else { - $file_path = PATH['entries'] . '/' . $url; - } - - // Pages array where founded entries will stored - $entries = []; - - // Pages cache id - $entry_cache_id = ''; - - // Get entries for $url - // If $url is empty then we want to have a list of entries for /entries dir. - if ($url === '') { - - // Get entries list - $entries_list = Filesystem::getFilesList($file_path, 'html', true, $multilevel); - - // Create entries cached id - foreach ($entries_list as $key => $entry) { - $entry_cache_id .= md5('entries' . $entry . filemtime($entry) . (($raw === true) ? 'true' : 'false') . $order_by . $order_type . $offset . $length); - } - - if (Cache::contains($entry_cache_id)) { - $entries = Cache::fetch($entry_cache_id); - } else { - // Create entries array from entries list - foreach ($entries_list as $key => $entry) { - $entries[$key] = Entries::processEntry($entry, $raw); - } - - Cache::save($entry_cache_id, $entries); - } - } else { - - // Get entries list - $entries_list = Filesystem::getFilesList($file_path, 'html', true, $multilevel); - - // Create entries cached id - foreach ($entries_list as $key => $entry) { - if (strpos($entry, $url . '/entry.html') !== false) { - // ignore ... - } else { - $entry_cache_id .= md5('entries' . $entry . filemtime($entry) . (($raw === true) ? 'true' : 'false') . $order_by . $order_type . $offset . $length); - } - } - - if (Cache::contains($entry_cache_id)) { - $entries = Cache::fetch($entry_cache_id); - } else { - // Create entries array from entries list and ignore current requested entry - foreach ($entries_list as $key => $entry) { - if (strpos($entry, $url . '/entry.html') !== false) { - // ignore ... - } else { - $entries[$key] = Entries::processEntry($entry, $raw); - } - } - - Cache::save($entry_cache_id, $entries); - } - } - - // Sort and Slice entries if $raw === false - if (count($entries) > 0) { - if (!$raw) { - $entries = Arr::sort($entries, $order_by, $order_type); - - if ($offset !== null && $length !== null) { - $entries = array_slice($entries, $offset, $length); - } - } - } - - // Return entries array - return $entries; - } - - /** - * Get Error404 entry - * - * @return array - */ - private static function getError404Entry() : array - { - Http::setResponseStatus(404); - - $entry['title'] = Registry::get('settings.entries.error404.title'); - $entry['description'] = Registry::get('settings.entries.error404.description'); - $entry['content'] = Registry::get('settings.entries.error404.content'); - $entry['template'] = Registry::get('settings.entries.error404.template'); - - return $entry; - } - - /** - * Returns $shortcode object - * - * @access public - * @return object - */ - public static function shortcode() : ShortcodeFacade - { - return Entries::$shortcode; - } - - /** - * Front matter parser - * - * $content = Entries::frontMatterParser($content); - * - * @param string $content Content to parse - * @access public - * @return array - */ - public static function frontMatterParser(string $content) : array - { - $parts = preg_split('/^[\s\r\n]?---[\s\r\n]?$/sm', PHP_EOL.ltrim($content)); - - if (count($parts) < 3) return ['matter' => [], 'body' => $content]; - - return ['matter' => trim($parts[1]), 'body' => implode(PHP_EOL.'---'.PHP_EOL, array_slice($parts, 2))]; - } - - /** - * Process entry - * - * $entry = Entries::processEntry(PATH['entries'] . '/home/entry.html'); - * - * @access public - * @param string $file_path File path - * @param bool $raw Raw or not raw content - * @param bool $ignore_content Ignore content parsing - * @return array|string - */ - public static function processEntry(string $file_path, bool $raw = false, bool $ignore_content = false) - { - // Get entry from file - $entry = trim(Filesystem::getFileContent($file_path)); - - // Return raw entry if $raw is true - if ($raw) { - return $entry; - } else { - - // Create $entry_frontmatter and $entry_content - $entry = Entries::frontMatterParser($entry); - $entry_frontmatter = $entry['matter']; - $entry_content = $entry['body']; - - // Create empty $_entry - $_entry = []; - - // Process $entry_frontmatter with YAML and Shortcodes parsers - $_entry = YamlParser::decode(Entries::processShortcodes($entry_frontmatter)); - - // Create entry url item - $url = str_replace(PATH['entries'], Http::getBaseUrl(), $file_path); - $url = str_replace('entry.html', '', $url); - $url = str_replace('.html', '', $url); - $url = str_replace('\\', '/', $url); - $url = str_replace('///', '/', $url); - $url = str_replace('//', '/', $url); - $url = str_replace('http:/', 'http://', $url); - $url = str_replace('https:/', 'https://', $url); - $url = rtrim($url, '/'); - $_entry['url'] = $url; - - // Create entry slug item - $url = str_replace(Http::getBaseUrl(), '', $url); - $url = ltrim($url, '/'); - $url = rtrim($url, '/'); - $_entry['slug'] = str_replace(Http::getBaseUrl(), '', $url); - - // Create entry base url - $_entry['base_url'] = Http::getBaseUrl() . '/site/entries/'; - - // Create entry template item - $_entry['template'] = $_entry['template'] ?? 'default'; - - // Create entry date item - $_entry['date'] = $_entry['date'] ?? date(Registry::get('settings.date_format'), filemtime($file_path)); - - // Create entry content item with $entry_content - if ($ignore_content) { - $_entry['content'] = $entry_content; - } else { - $_entry['content'] = Entries::processContent($entry_content); - } - - // Return entry - return $_entry; - } - } - - /** - * Process shortcodes - * - * $content = Entries::processShortcodes($content); - * - * @access public - * @param string $content Content to parse - * @return string - */ - public static function processShortcodes(string $content) : string - { - return Entries::shortcode()->process($content); - } - - /** - * Process content with markdown and shortcodes processors - * - * $content = Entries::processContent($content); - * - * @access public - * @param string $content Content to parse - * @return string - */ - public static function processContent(string $content) : string - { - return Entries::processShortcodes($content); - } - - /** - * Init Parsers - * - * @access private - * @return void - */ - private static function initParsers() : void - { - // Init Shortcodes - Entries::initShortcodes(); - } - - /** - * Init Shortcodes - * - * @access private - * @return void - */ - private static function initShortcodes() : void - { - // Create Shortcode Parser object - Entries::$shortcode = new ShortcodeFacade(); - - // Event: Shortcodes initialized and now we can add our custom shortcodes - Event::dispatch('onShortcodesInitialized'); - } - - /** - * Display current entry - * - * @access private - * @return void - */ - private static function displayCurrentEntry() : void - { - Http::setRequestHeaders('Content-Type: text/html; charset='.Registry::get('settings.charset')); - Themes::view(empty(Entries::$entry['template']) ? 'templates/default' : 'templates/' . Entries::$entry['template']) - ->assign('entry', Entries::$entry, true) - ->display(); - } - - /** - * Get the Content instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Entries::$instance)) { - Entries::$instance = new self; - } - - return Entries::$instance; - } -} diff --git a/flextype/Flextype.php b/flextype/Flextype.php deleted file mode 100755 index 561308ca..00000000 --- a/flextype/Flextype.php +++ /dev/null @@ -1,185 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Http\Http; -use Flextype\Component\Session\Session; -use Flextype\Component\ErrorHandler\ErrorHandler; -use Flextype\Component\Registry\Registry; -use Flextype\Component\Filesystem\Filesystem; - -class Flextype -{ - /** - * The version of Flextype - * - * @var string - */ - const VERSION = '0.8.3'; - - /** - * An instance of the Flextype class - * - * @var object - * @access private - */ - private static $instance = null; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Flextype::init(); - } - - /** - * Init Flextype Application - * - * @access private - */ - private static function init() : void - { - // Turn on output buffering - ob_start(); - - // Set Flextype config - Flextype::setConfig(); - - // Set internal encoding - function_exists('mb_language') and mb_language('uni'); - function_exists('mb_regex_encoding') and mb_regex_encoding(Registry::get('settings.charset')); - function_exists('mb_internal_encoding') and mb_internal_encoding(Registry::get('settings.charset')); - - // Set error handler - Flextype::setErrorHandler(); - - // Set default timezone - date_default_timezone_set(Registry::get('settings.timezone')); - - // Start the session - Session::start(); - - // Get Cache Instance - Cache::getInstance(); - - // Get Images Instance - Images::getInstance(); - - // Get Snippets Instance - Snippets::getInstance(); - - // Get Themes Instance - Themes::getInstance(); - - // Get Plugins Instance - Plugins::getInstance(); - - // Get Entries Instance - Entries::getInstance(); - - // Flush (send) the output buffer and turn off output buffering - ob_end_flush(); - } - - /** - * Set error handler - * - * @access private - */ - private static function setErrorHandler() : void - { - // Display Errors - if (Registry::get('settings.errors.display')) { - define('DEVELOPMENT', true); - error_reporting(-1); - } else { - define('DEVELOPMENT', false); - error_reporting(0); - } - - // Create directory for logs - !Filesystem::fileExists(LOGS_PATH) and Filesystem::createDir(LOGS_PATH); - - // Set Error handler - set_error_handler('Flextype\Component\ErrorHandler\ErrorHandler::error'); - register_shutdown_function('Flextype\Component\ErrorHandler\ErrorHandler::fatal'); - set_exception_handler('Flextype\Component\ErrorHandler\ErrorHandler::exception'); - } - - /** - * Set config - * - * @access private - */ - private static function setConfig() : void - { - // Set empty site settings array - Registry::set('settings', []); - - // Set settings files path - $default_settings_file_path = PATH['config']['default'] . '/settings.yaml'; - $site_settings_file_path = PATH['config']['site'] . '/settings.yaml'; - - // Set settings if Flextype settings and Site settings config files exist - if (Filesystem::fileExists($default_settings_file_path) && Filesystem::fileExists($site_settings_file_path)) { - - // Get Flextype settings and Site settings - $default_settings = YamlParser::decode(Filesystem::getFileContent($default_settings_file_path)); - $site_settings = YamlParser::decode(Filesystem::getFileContent($site_settings_file_path)); - - // Merge settings - $settings = array_replace_recursive($default_settings, $site_settings); - - // Set settings - Registry::set('settings', $settings); - } else { - throw new \RuntimeException("Flextype settings and Site settings config files does not exist."); - } - } - - /** - * Get the Flextype instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Flextype::$instance)) { - Flextype::$instance = new self; - } - - return Flextype::$instance; - } -} diff --git a/flextype/Images.php b/flextype/Images.php deleted file mode 100644 index 33c93358..00000000 --- a/flextype/Images.php +++ /dev/null @@ -1,274 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Http\Http; -use Flextype\Component\Event\Event; -use Flextype\Component\Html\Html; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -// Event: onShortcodesInitialized -Event::addListener('onShortcodesInitialized', function () { - - // Shortcode: [image path="home/image.jpg"] - // Result: Display image - Entries::shortcode()->addHandler('image', function(ShortcodeInterface $s) { - $params = []; - $attributes = []; - - // API - // http://glide.thephpleague.com/1.0/api/quick-reference/ - ($s->getParameter('or')) and $params['or'] = $s->getParameter('or'); - ($s->getParameter('flip')) and $params['flip'] = $s->getParameter('flip'); - ($s->getParameter('crop')) and $params['crop'] = $s->getParameter('crop'); - ($s->getParameter('w')) and $params['w'] = $s->getParameter('w'); - ($s->getParameter('h')) and $params['h'] = $s->getParameter('h'); - ($s->getParameter('fit')) and $params['fit'] = $s->getParameter('fit'); - ($s->getParameter('dpr')) and $params['dpr'] = $s->getParameter('dpr'); - ($s->getParameter('bri')) and $params['bri'] = $s->getParameter('bri'); - ($s->getParameter('con')) and $params['con'] = $s->getParameter('con'); - ($s->getParameter('gam')) and $params['gam'] = $s->getParameter('gam'); - ($s->getParameter('sharp')) and $params['sharp'] = $s->getParameter('sharp'); - ($s->getParameter('blur')) and $params['blur'] = $s->getParameter('blur'); - ($s->getParameter('pixel')) and $params['pixel'] = $s->getParameter('pixel'); - ($s->getParameter('filt')) and $params['filt'] = $s->getParameter('filt'); - ($s->getParameter('mark')) and $params['mark'] = $s->getParameter('mark'); - ($s->getParameter('markw')) and $params['markw'] = $s->getParameter('markw'); - ($s->getParameter('markh')) and $params['markh'] = $s->getParameter('markh'); - ($s->getParameter('markx')) and $params['markx'] = $s->getParameter('markx'); - ($s->getParameter('marky')) and $params['marky'] = $s->getParameter('marky'); - ($s->getParameter('markpad')) and $params['markpad'] = $s->getParameter('markpad'); - ($s->getParameter('markpos')) and $params['markpos'] = $s->getParameter('markpos'); - ($s->getParameter('markalpha')) and $params['markalpha'] = $s->getParameter('markalpha'); - ($s->getParameter('bg')) and $params['bg'] = $s->getParameter('bg'); - ($s->getParameter('border')) and $params['border'] = $s->getParameter('border'); - ($s->getParameter('q')) and $params['q'] = $s->getParameter('q'); - ($s->getParameter('fm')) and $params['fm'] = $s->getParameter('fm'); - - ($s->getParameter('width')) and $attributes['width'] = $s->getParameter('width'); - ($s->getParameter('height')) and $attributes['height'] = $s->getParameter('height'); - ($s->getParameter('class')) and $attributes['class'] = $s->getParameter('class'); - ($s->getParameter('id')) and $attributes['id'] = $s->getParameter('id'); - ($s->getParameter('alt')) and $attributes['alt'] = $s->getParameter('alt'); - - return Images::getImage($s->getParameter('path'), $params, $attributes); - }); - - // Shortcode: [image_url path="home/image.jpg"] - // Result: Display image url - Entries::shortcode()->addHandler('image_url', function(ShortcodeInterface $s) { - $params = []; - - // API - // http://glide.thephpleague.com/1.0/api/quick-reference/ - ($s->getParameter('or')) and $params['or'] = $s->getParameter('or'); - ($s->getParameter('flip')) and $params['flip'] = $s->getParameter('flip'); - ($s->getParameter('crop')) and $params['crop'] = $s->getParameter('crop'); - ($s->getParameter('w')) and $params['w'] = $s->getParameter('w'); - ($s->getParameter('h')) and $params['h'] = $s->getParameter('h'); - ($s->getParameter('fit')) and $params['fit'] = $s->getParameter('fit'); - ($s->getParameter('dpr')) and $params['dpr'] = $s->getParameter('dpr'); - ($s->getParameter('bri')) and $params['bri'] = $s->getParameter('bri'); - ($s->getParameter('con')) and $params['con'] = $s->getParameter('con'); - ($s->getParameter('gam')) and $params['gam'] = $s->getParameter('gam'); - ($s->getParameter('sharp')) and $params['sharp'] = $s->getParameter('sharp'); - ($s->getParameter('blur')) and $params['blur'] = $s->getParameter('blur'); - ($s->getParameter('pixel')) and $params['pixel'] = $s->getParameter('pixel'); - ($s->getParameter('filt')) and $params['filt'] = $s->getParameter('filt'); - ($s->getParameter('mark')) and $params['mark'] = $s->getParameter('mark'); - ($s->getParameter('markw')) and $params['markw'] = $s->getParameter('markw'); - ($s->getParameter('markh')) and $params['markh'] = $s->getParameter('markh'); - ($s->getParameter('markx')) and $params['markx'] = $s->getParameter('markx'); - ($s->getParameter('marky')) and $params['marky'] = $s->getParameter('marky'); - ($s->getParameter('markpad')) and $params['markpad'] = $s->getParameter('markpad'); - ($s->getParameter('markpos')) and $params['markpos'] = $s->getParameter('markpos'); - ($s->getParameter('markalpha')) and $params['markalpha'] = $s->getParameter('markalpha'); - ($s->getParameter('bg')) and $params['bg'] = $s->getParameter('bg'); - ($s->getParameter('border')) and $params['border'] = $s->getParameter('border'); - ($s->getParameter('q')) and $params['q'] = $s->getParameter('q'); - ($s->getParameter('fm')) and $params['fm'] = $s->getParameter('fm'); - - return Images::getImageUrl($s->getParameter('path'), $params); - }); -}); - -class Images -{ - /** - * An instance of the Themes class - * - * @var object - */ - private static $instance = null; - - /** - * Images Server - * - * @var - */ - protected static $server; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Images::init(); - } - - /** - * Init Images - * - * @access private - * @return void - */ - private static function init() : void - { - // Set source filesystem - $source = new \League\Flysystem\Filesystem( - new \League\Flysystem\Adapter\Local(PATH['entries']) - ); - - // Set cache filesystem - $cache = new \League\Flysystem\Filesystem( - new \League\Flysystem\Adapter\Local(PATH['cache'] . '/glide') - ); - - // Set watermarks filesystem - $watermarks = new \League\Flysystem\Filesystem( - new \League\Flysystem\Adapter\Local(PATH['site'] . '/watermarks') - ); - - // Set image manager - $imageManager = new \Intervention\Image\ImageManager([ - 'driver' => 'gd', - ]); - - // Set manipulators - $manipulators = [ - new \League\Glide\Manipulators\Orientation(), - new \League\Glide\Manipulators\Crop(), - new \League\Glide\Manipulators\Size(2000*2000), - new \League\Glide\Manipulators\Brightness(), - new \League\Glide\Manipulators\Contrast(), - new \League\Glide\Manipulators\Gamma(), - new \League\Glide\Manipulators\Sharpen(), - new \League\Glide\Manipulators\Filter(), - new \League\Glide\Manipulators\Blur(), - new \League\Glide\Manipulators\Pixelate(), - new \League\Glide\Manipulators\Watermark($watermarks), - new \League\Glide\Manipulators\Background(), - new \League\Glide\Manipulators\Border(), - new \League\Glide\Manipulators\Encode(), - ]; - - // Set API - $api = new \League\Glide\Api\Api($imageManager, $manipulators); - - // Setup Glide server - $server = new \League\Glide\Server( - $source, - $cache, - $api - ); - - Images::$server = $server; - } - - /** - * Get image url - * - * Images::getImageUrl('page-name/image.jpg', [w => '200']); - * http://glide.thephpleague.com/1.0/api/quick-reference/ - * - * @access public - * @param string $path Image path - * @param array $params Image params - * @return string - */ - public static function getImageUrl($path, array $params) - { - if (file_exists(PATH['entries'] . '/' . $path)) { - return Http::getBaseUrl() . '/site/cache/glide/' . Images::$server->makeImage($path, $params); - } else { - return "File {$path} does not exist."; - } - } - - /** - * Get image - * - * Images::getImage('page-name/image.jpg', [w => '200']); - * http://glide.thephpleague.com/1.0/api/quick-reference/ - * - * @access public - * @param string $path Image path - * @param array $params Image params - * @param array $attributes Image html attributes - * @return string - */ - public static function getImage($path, array $params, array $attributes = []) - { - if (file_exists(PATH['entries'] . '/' . $path)) { - return ''; - } else { - return "File {$path} does not exist."; - } - } - - /** - * Returns server variable - * - * @access public - * @return object - */ - public static function server() - { - return Images::$server; - } - - /** - * Get the Image instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Images::$instance)) { - Images::$instance = new self; - } - - return Images::$instance; - } -} diff --git a/flextype/Menus.php b/flextype/Menus.php deleted file mode 100644 index b860574c..00000000 --- a/flextype/Menus.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Filesystem\Filesystem; - -class Menus -{ - /** - * Get menu - * - * Menu::get('menu-name'); - * - * @access public - * @param string $menu_name Menu name - * @return array - */ - public static function get(string $menu_name) - { - $menu_path = PATH['menus'] . '/' . $menu_name . '.yaml'; - - if (Filesystem::fileExists($menu_path)) { - return YamlParser::decode(Filesystem::getFileContent($menu_path)); - } else { - throw new \RuntimeException("Menu {$menu_name} does not exist."); - } - } -} diff --git a/flextype/Plugins.php b/flextype/Plugins.php deleted file mode 100755 index 2140a288..00000000 --- a/flextype/Plugins.php +++ /dev/null @@ -1,357 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\Event\Event; -use Flextype\Component\I18n\I18n; -use Flextype\Component\Registry\Registry; - -class Plugins -{ - /** - * An instance of the Cache class - * - * @var object - * @access private - */ - private static $instance = null; - - /** - * Locales array - * - * @var array - */ - private static $locales = [ - 'om' => 'Afaan Oromoo', - 'aa' => 'Afaraf', - 'af' => 'Afrikaans', - 'ak' => 'Akan', - 'an' => 'aragonés', - 'ig' => 'Asụsụ Igbo', - 'gn' => 'Avañe\'ẽ', - 'ae' => 'avesta', - 'ay' => 'aymar aru', - 'az' => 'azərbaycan dili', - 'id' => 'Bahasa Indonesia', - 'ms' => 'bahasa Melayu', - 'bm' => 'bamanankan', - 'jv' => 'basa Jawa', - 'su' => 'Basa Sunda', - 'bi' => 'Bislama', - 'bs' => 'bosanski jezik', - 'br' => 'brezhoneg', - 'ca' => 'català', - 'ch' => 'Chamoru', - 'ny' => 'chiCheŵa', - 'sn' => 'chiShona', - 'co' => 'corsu', - 'cy' => 'Cymraeg', - 'da' => 'dansk', - 'se' => 'Davvisámegiella', - 'de' => 'Deutsch', - 'nv' => 'Diné bizaad', - 'et' => 'eesti', - 'na' => 'Ekakairũ Naoero', - 'en' => 'English', - 'es' => 'español', - 'eo' => 'Esperanto', - 'eu' => 'euskara', - 'ee' => 'Eʋegbe', - 'to' => 'faka Tonga', - 'mg' => 'fiteny malagasy', - 'fr' => 'français', - 'fy' => 'Frysk', - 'ff' => 'Fulfulde', - 'fo' => 'føroyskt', - 'ga' => 'Gaeilge', - 'gv' => 'Gaelg', - 'sm' => 'gagana fa\'a Samoa', - 'gl' => 'galego', - 'sq' => 'gjuha shqipe', - 'gd' => 'Gàidhlig', - 'ki' => 'Gĩkũyũ', - 'ha' => 'Hausa', - 'ho' => 'Hiri Motu', - 'hr' => 'hrvatski jezik', - 'io' => 'Ido', - 'rw' => 'Ikinyarwanda', - 'rn' => 'Ikirundi', - 'ia' => 'Interlingua', - 'nd' => 'isiNdebele', - 'nr' => 'isiNdebele', - 'xh' => 'isiXhosa', - 'zu' => 'isiZulu', - 'it' => 'italiano', - 'ik' => 'Iñupiaq', - 'pl' => 'język polski', - 'mh' => 'Kajin M̧ajeļ', - 'kl' => 'kalaallisut', - 'kr' => 'Kanuri', - 'kw' => 'Kernewek', - 'kg' => 'KiKongo', - 'sw' => 'Kiswahili', - 'ht' => 'Kreyòl ayisyen', - 'kj' => 'Kuanyama', - 'ku' => 'Kurdî', - 'la' => 'latine', - 'lv' => 'latviešu valoda', - 'lt' => 'lietuvių kalba', - 'ro' => 'limba română', - 'li' => 'Limburgs', - 'ln' => 'Lingála', - 'lg' => 'Luganda', - 'lb' => 'Lëtzebuergesch', - 'hu' => 'magyar', - 'mt' => 'Malti', - 'nl' => 'Nederlands', - 'no' => 'Norsk', - 'nb' => 'Norsk bokmål', - 'nn' => 'Norsk nynorsk', - 'uz' => 'O\'zbek', - 'oc' => 'occitan', - 'ie' => 'Interlingue', - 'hz' => 'Otjiherero', - 'ng' => 'Owambo', - 'pt' => 'português', - 'ty' => 'Reo Tahiti', - 'rm' => 'rumantsch grischun', - 'qu' => 'Runa Simi', - 'sc' => 'sardu', - 'za' => 'Saɯ cueŋƅ', - 'st' => 'Sesotho', - 'tn' => 'Setswana', - 'ss' => 'SiSwati', - 'sl' => 'slovenski jezik', - 'sk' => 'slovenčina', - 'so' => 'Soomaaliga', - 'fi' => 'suomi', - 'sv' => 'Svenska', - 'mi' => 'te reo Māori', - 'vi' => 'Tiếng Việt', - 'lu' => 'Tshiluba', - 've' => 'Tshivenḓa', - 'tw' => 'Twi', - 'tk' => 'Türkmen', - 'tr' => 'Türkçe', - 'ug' => 'Uyƣurqə', - 'vo' => 'Volapük', - 'fj' => 'vosa Vakaviti', - 'wa' => 'walon', - 'tl' => 'Wikang Tagalog', - 'wo' => 'Wollof', - 'ts' => 'Xitsonga', - 'yo' => 'Yorùbá', - 'sg' => 'yângâ tî sängö', - 'is' => 'Íslenska', - 'cs' => 'čeština', - 'el' => 'ελληνικά', - 'av' => 'авар мацӀ', - 'ab' => 'аҧсуа бызшәа', - 'ba' => 'башҡорт теле', - 'be' => 'беларуская мова', - 'bg' => 'български език', - 'os' => 'ирон æвзаг', - 'kv' => 'коми кыв', - 'ky' => 'Кыргызча', - 'mk' => 'македонски јазик', - 'mn' => 'монгол', - 'ce' => 'нохчийн мотт', - 'ru' => 'Русский язык', - 'sr' => 'српски језик', - 'tt' => 'татар теле', - 'tg' => 'тоҷикӣ', - 'uk' => 'Українська', - 'cv' => 'чӑваш чӗлхи', - 'cu' => 'ѩзыкъ словѣньскъ', - 'kk' => 'қазақ тілі', - 'hy' => 'Հայերեն', - 'yi' => 'ייִדיש', - 'he' => 'עברית', - 'ur' => 'اردو', - 'ar' => 'العربية', - 'fa' => 'فارسی', - 'ps' => 'پښتو', - 'ks' => 'कश्मीरी', - 'ne' => 'नेपाली', - 'pi' => 'पाऴि', - 'bh' => 'भोजपुरी', - 'mr' => 'मराठी', - 'sa' => 'संस्कृतम्', - 'sd' => 'सिन्धी', - 'hi' => 'हिन्दी', - 'as' => 'অসমীয়া', - 'bn' => 'বাংলা', - 'pa' => 'ਪੰਜਾਬੀ', - 'gu' => 'ગુજરાતી', - 'or' => 'ଓଡ଼ିଆ', - 'ta' => 'தமிழ்', - 'te' => 'తెలుగు', - 'kn' => 'ಕನ್ನಡ', - 'ml' => 'മലയാളം', - 'si' => 'සිංහල', - 'th' => 'ไทย', - 'lo' => 'ພາສາລາວ', - 'bo' => 'བོད་ཡིག', - 'dz' => 'རྫོང་ཁ', - 'my' => 'ဗမာစာ', - 'ka' => 'ქართული', - 'ti' => 'ትግርኛ', - 'am' => 'አማርኛ', - 'iu' => 'ᐃᓄᒃᑎᑐᑦ', - 'oj' => 'ᐊᓂᔑᓈᐯᒧᐎᓐ', - 'cr' => 'ᓀᐦᐃᔭᐍᐏᐣ', - 'km' => 'ខ្មែរ', - 'zh' => '中文 (Zhōngwén)', - 'ja' => '日本語 (にほんご)', - 'ii' => 'ꆈꌠ꒿ Nuosuhxop', - 'ko' => '한국어 (韓國語)' - ]; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Plugins::init(); - } - - /** - * Init Plugins - * - * @access private - * @return void - */ - private static function init() : void - { - // Plugin cache id - $plugins_cache_id = ''; - $_plugins_cache_id = ''; - - // Set empty plugins item - Registry::set('plugins', []); - - // Get Plugins List - $plugins_list = Filesystem::getDirList(PATH['plugins']); - - // If Plugins List isnt empty then create plugin cache ID - if (is_array($plugins_list) && count($plugins_list) > 0) { - - // Go through... - foreach ($plugins_list as $plugin) { - if (Filesystem::fileExists($_plugin_settings = PATH['plugins'] . '/' . $plugin . '/settings.yaml') and - Filesystem::fileExists($_plugin_config = PATH['plugins'] . '/' . $plugin . '/'. $plugin .'.yaml')) { - $_plugins_cache_id .= filemtime($_plugin_settings) . filemtime($_plugin_config); - } - } - - // Create Unique Cache ID for Plugins - $plugins_cache_id = md5('plugins' . PATH['plugins'] . '/' . $_plugins_cache_id); - - // Get plugins list from cache or scan plugins folder and create new plugins cache item - if (Cache::contains($plugins_cache_id)) { - Registry::set('plugins', Cache::fetch($plugins_cache_id)); - } else { - - // If Plugins List isnt empty - if (is_array($plugins_list) && count($plugins_list) > 0) { - - // Go through... - foreach ($plugins_list as $plugin) { - if (Filesystem::fileExists($_plugin_settings = PATH['plugins'] . '/' . $plugin . '/settings.yaml')) { - $plugin_settings = YamlParser::decode(Filesystem::getFileContent($_plugin_settings)); - } - - if (Filesystem::fileExists($_plugin_config = PATH['plugins'] . '/' . $plugin . '/'. $plugin. '.yaml')) { - $plugin_config = YamlParser::decode(Filesystem::getFileContent($_plugin_config)); - } - - $_plugins_config[basename($_plugin_config, '.yaml')] = array_merge($plugin_settings, $plugin_config); - } - - Registry::set('plugins', $_plugins_config); - Cache::save($plugins_cache_id, $_plugins_config); - } - } - - // Create Dictionary - if (is_array($plugins_list) && count($plugins_list) > 0) { - foreach (Plugins::$locales as $locale => $locale_title) { - foreach ($plugins_list as $plugin) { - $language_file = PATH['plugins'] . '/' . $plugin . '/languages/' . $locale . '.yaml'; - if (Filesystem::fileExists($language_file)) { - I18n::add(YamlParser::decode(Filesystem::getFileContent($language_file)), $locale); - } - } - } - } - - // Include enabled plugins - if (is_array(Registry::get('plugins')) && count(Registry::get('plugins')) > 0) { - foreach (Registry::get('plugins') as $plugin_name => $plugin) { - if (Registry::get('plugins.'.$plugin_name.'.enabled')) { - include_once PATH['plugins'] . '/' . $plugin_name .'/'. $plugin_name . '.php'; - } - } - } - - Event::dispatch('onPluginsInitialized'); - } - } - - /** - * Get locales. - * - * @access public - * @return array - */ - public static function getLocales() : array - { - return Plugins::$locales; - } - - /** - * Get the Plugins instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Plugins::$instance)) { - Plugins::$instance = new self; - } - - return Plugins::$instance; - } -} diff --git a/flextype/Snippets.php b/flextype/Snippets.php deleted file mode 100644 index 6c46762b..00000000 --- a/flextype/Snippets.php +++ /dev/null @@ -1,126 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\Event\Event; -use Thunder\Shortcode\Shortcode\ShortcodeInterface; - -// Event: onShortcodesInitialized -Event::addListener('onShortcodesInitialized', function () { - - // Shortcode: [snippet name=snippet-name] - Entries::shortcode()->addHandler('snippet', function(ShortcodeInterface $s) { - return Snippets::get($s->getParameter('name')); - }); -}); - -class Snippets -{ - /** - * An instance of the Snippets class - * - * @var object - */ - private static $instance = null; - - /** - * Images Server - * - * @var - */ - protected static $server; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Snippets::init(); - } - - /** - * Init Snippets - * - * @access private - * @return void - */ - private static function init() : void - { - - } - - /** - * Get snippet - * - * Snippets::get('snippet-name'); - * - * @access public - * @param string $snippet_name Snippet name - * @return string|bool Returns the contents of the output buffer and end output buffering. - * If output buffering isn't active then FALSE is returned. - */ - public static function get(string $snippet_name) - { - $snippet_path = PATH['snippets'] . '/' . $snippet_name . '.php'; - - if (Filesystem::fileExists($snippet_path)) { - - // Turn on output buffering - ob_start(); - - // Include view file - include $snippet_path; - - // Output... - return ob_get_clean(); - } else { - throw new \RuntimeException("Snippet {$snippet_name} does not exist."); - } - } - - /** - * Get the Snippets instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Snippets::$instance)) { - Snippets::$instance = new self; - } - - return Snippets::$instance; - } -} diff --git a/flextype/Themes.php b/flextype/Themes.php deleted file mode 100644 index 178ede05..00000000 --- a/flextype/Themes.php +++ /dev/null @@ -1,231 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\View\View; -use Flextype\Component\Registry\Registry; - -class Themes -{ - /** - * An instance of the Themes class - * - * @var object - */ - private static $instance = null; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - private function __construct() - { - Themes::init(); - } - - /** - * Init Themes - * - * @access private - * @return void - */ - private static function init() : void - { - // Theme Manifest - $theme_manifest = []; - - // Theme cache id - $theme_cache_id = ''; - - // Get current theme - $theme = Registry::get('settings.theme'); - - // Set empty themes items - Registry::set('themes', []); - - // Create Unique Cache ID for Theme - $theme_cache_id = md5('theme' . filemtime(PATH['themes'] .'/'. $theme . '/' . 'settings.yaml') . - filemtime(PATH['themes'] .'/'. $theme . '/' . $theme . '.yaml')); - - // Get Theme mafifest file and write to settings.themes array - if (Cache::contains($theme_cache_id)) { - Registry::set('themes.'.Registry::get('settings.theme'), Cache::fetch($theme_cache_id)); - } else { - if (Filesystem::fileExists($theme_settings = PATH['themes'] . '/' . $theme . '/' . 'settings.yaml') and - Filesystem::fileExists($theme_config = PATH['themes'] . '/' . $theme . '/' . $theme . '.yaml')) { - $theme_settings = YamlParser::decode(Filesystem::getFileContent($theme_settings)); - $theme_config = YamlParser::decode(Filesystem::getFileContent($theme_config)); - $_theme = array_merge($theme_settings, $theme_config); - Registry::set('themes.'.Registry::get('settings.theme'), $_theme); - Cache::save($theme_cache_id, $_theme); - } - } - } - - /** - * Get themes view - * - * @param string $template Template file - * @param string $variables Variables - * @access public - * @return object - */ - public static function view(string $template, array $variables = []) - { - // Set view file - // From current theme folder or from plugin folder - if (Filesystem::fileExists(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $template . View::$view_ext)) { - $template = PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $template; - } else { - $template = PATH['plugins'] . '/' . $template; - } - - // Return template - return new View($template, $variables); - } - - /** - * Get partials for current theme - * - * @access public - * @return array - */ - public static function getPartials() : array - { - $partials = []; - - // Get templates files - $_partials = Filesystem::getFilesList(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/partials/', 'php'); - - // If there is any template file then go... - if (count($_partials) > 0) { - foreach ($_partials as $partial) { - if (!is_bool(Themes::_strrevpos($partial, '/partials/'))) { - $partial_name = str_replace('.php', '', substr($partial, Themes::_strrevpos($partial, '/partials/')+strlen('/partials/'))); - $partials[$partial_name] = $partial_name; - } - } - } - - // return partials - return $partials; - } - - /** - * Get templates for current theme - * - * @access public - * @return array - */ - public static function getTemplates() : array - { - $templates = []; - - // Get templates files - $_templates = Filesystem::getFilesList(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/templates/', 'php'); - - // If there is any template file then go... - if (count($_templates) > 0) { - foreach ($_templates as $template) { - if (!is_bool(Themes::_strrevpos($template, '/templates/'))) { - $template_name = str_replace('.php', '', substr($template, Themes::_strrevpos($template, '/templates/')+strlen('/templates/'))); - $templates[$template_name] = $template_name; - } - } - } - - // return templates - return $templates; - } - - /** - * Get Fieldsets for current theme - * - * @access public - * @return array - */ - public static function getFieldsets() : array - { - $fieldsets = []; - - // Get fieldsets files - $_fieldsets = Filesystem::getFilesList(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/', 'yaml'); - - // If there is any template file then go... - if (count($_fieldsets) > 0) { - foreach ($_fieldsets as $fieldset) { - if (!is_bool(Themes::_strrevpos($fieldset, '/fieldsets/'))) { - $fieldset_name = str_replace('.yaml', '', substr($fieldset, Themes::_strrevpos($fieldset, '/fieldsets/')+strlen('/fieldsets/'))); - $fieldset = YamlParser::decode(Filesystem::getFileContent($fieldset)); - $fieldsets[$fieldset_name] = $fieldset['title']; - } - } - } - - // return fieldsets - return $fieldsets; - } - - /** - * _strrevpos - * - * @param string $instr instr - * @param string $needle needle - * - * @return bool - */ - private static function _strrevpos($instr, $needle) - { - $rev_pos = strpos(strrev($instr), strrev($needle)); - if ($rev_pos === false) { - return false; - } else { - return strlen($instr) - $rev_pos - strlen($needle); - } - } - - /** - * Get the Themes instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Themes::$instance)) { - Themes::$instance = new self; - } - - return Themes::$instance; - } -} diff --git a/flextype/bootstrap.php b/flextype/bootstrap.php new file mode 100755 index 00000000..589c6ced --- /dev/null +++ b/flextype/bootstrap.php @@ -0,0 +1,149 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Session\Session; +use Flextype\Component\Registry\Registry; +use Flextype\Component\Filesystem\Filesystem; + +/** + * The version of Flextype + * + * @var string + */ +define('FLEXTYPE_VERSION', '0.9.0'); + +// Start the session +Session::start(); + +// Configure application +$config = [ + 'settings' => [ + 'debug' => false, + 'whoops.editor' => 'atom', + 'whoops.page_title' => 'Error!', + 'displayErrorDetails' => false, + 'addContentLengthHeader' => true, + 'addContentLengthHeader' => false, + 'routerCacheFile' => false, + 'determineRouteBeforeAppMiddleware' => false, + 'outputBuffering' => 'append', + 'responseChunkSize' => 4096, + 'httpVersion' => '1.1', + 'twig' => [ + 'cache' => PATH['cache'] . '/twig', + 'auto_reload' => true + ], + 'images' => [ + 'driver' => 'gd', + ], + ], +]; + +/** + * Create new application + */ +$app = new \Slim\App($config); + +/** + * Set Flextype Dependency Injection Container + */ +$flextype = $app->getContainer(); + +/** + * Include Dependencies + */ +include_once 'dependencies.php'; + +/** + * Include Middlewares + */ +include_once 'middlewares.php'; + +/** + * Include Routes (web) + */ +include_once 'routes/web.php'; + +// Set empty settings array +$flextype['registry']->set('settings', []); + +// Set settings files path +$default_settings_file_path = PATH['config']['default'] . '/settings.json'; +$site_settings_file_path = PATH['config']['site'] . '/settings.json'; + +// Set settings if Flextype settings and Site settings config files exist +if (Filesystem::has($default_settings_file_path) && Filesystem::has($site_settings_file_path)) { + if (($content = Filesystem::read($default_settings_file_path)) === false) { + throw new \RuntimeException('Load file: ' . $default_settings_file_path . ' - failed!'); + } else { + $default_settings = JsonParser::decode($content); + } + + if (($content = Filesystem::read($site_settings_file_path)) === false) { + throw new \RuntimeException('Load file: ' . $site_settings_file_path . ' - failed!'); + } else { + $site_settings = JsonParser::decode($content); + } + + // Merge settings + $settings = array_replace_recursive($default_settings, $site_settings); + + // Set settings + $flextype['registry']->set('settings', $settings); +} else { + throw new \RuntimeException("Flextype settings and Site settings config files does not exist."); +} + +// Set internal encoding +function_exists('mb_language') and mb_language('uni'); +function_exists('mb_regex_encoding') and mb_regex_encoding($flextype['registry']->get('settings.charset')); +function_exists('mb_internal_encoding') and mb_internal_encoding($flextype['registry']->get('settings.charset')); + +// Display Errors +if ($flextype['registry']->get('settings.errors.display')) { + + /** + * Add WhoopsMiddleware + */ + $app->add(new \Zeuxisoo\Whoops\Provider\Slim\WhoopsMiddleware($app)); + +} else { + error_reporting(0); +} + +// Set default timezone +date_default_timezone_set($flextype['registry']->get('settings.timezone')); + +// Get Default Shortocdes List +$shortcodes_list = Filesystem::listContents(ROOT_DIR . '/flextype/shortcodes'); + +// Include default shortcodes +foreach ($shortcodes_list as $shortcode) { + include_once $shortcode['path']; +} + +/** + * Init themes + */ +$flextype['themes']->init($flextype, $app); + +/** + * Init plugins + */ +$flextype['plugins']->init($flextype, $app); + +/** + * Run application + */ +$app->run(); diff --git a/flextype/config/locales.json b/flextype/config/locales.json new file mode 100644 index 00000000..c4d6bd0c --- /dev/null +++ b/flextype/config/locales.json @@ -0,0 +1,636 @@ +{ + "af": { + "name": "Afrikaans", + "nativeName": "Afrikaans" + }, + "af_ZA": { + "name": "Afrikaans", + "nativeName": "Afrikaans" + }, + "ak": { + "name": "Akan", + "nativeName": "Akan" + }, + "ast": { + "name": "Asturian", + "nativeName": "Asturianu" + }, + "ar": { + "name": "Arabic", + "nativeName": "عربي", + "orientation": "rtl" + }, + "ar_SA": { + "name": "Arabic", + "nativeName": "عربي", + "orientation": "rtl" + }, + "as": { + "name": "Assamese", + "nativeName": "অসমীয়া" + }, + "be": { + "name": "Belarusian", + "nativeName": "Беларуская" + }, + "bg": { + "name": "Bulgarian", + "nativeName": "Български" + }, + "bn": { + "name": "Bengali", + "nativeName": "বাংলা" + }, + "bn_BD": { + "name": "Bengali (Bangladesh)", + "nativeName": "বাংলা (বাংলাদেশ)" + }, + "bn_IN": { + "name": "Bengali (India)", + "nativeName": "বাংলা (ভারত)" + }, + "br": { + "name": "Breton", + "nativeName": "Brezhoneg" + }, + "bs": { + "name": "Bosnian", + "nativeName": "Bosanski" + }, + "ca": { + "name": "Catalan", + "nativeName": "Català" + }, + "ca_ES": { + "name": "Catalan", + "nativeName": "Català" + }, + "ca_valencia": { + "name": "Catalan (Valencian)", + "nativeName": "Català (valencià)" + }, + "cs": { + "name": "Czech", + "nativeName": "Čeština" + }, + "cs_CZ": { + "name": "Czech", + "nativeName": "Čeština" + }, + "cy": { + "name": "Welsh", + "nativeName": "Cymraeg" + }, + "da": { + "name": "Danish", + "nativeName": "Dansk" + }, + "da_DK": { + "name": "Danish", + "nativeName": "Dansk" + }, + "de": { + "name": "German", + "nativeName": "Deutsch" + }, + "de_AT": { + "name": "German (Austria)", + "nativeName": "Deutsch (Österreich)" + }, + "de_CH": { + "name": "German (Switzerland)", + "nativeName": "Deutsch (Schweiz)" + }, + "de_DE": { + "name": "German (Germany)", + "nativeName": "Deutsch (Deutschland)" + }, + "dsb": { + "name": "Lower Sorbian", + "nativeName": "Dolnoserbšćina" + }, + "el": { + "name": "Greek", + "nativeName": "Ελληνικά" + }, + "el_GR": { + "name": "Greek", + "nativeName": "Ελληνικά" + }, + "en": { + "name": "English", + "nativeName": "English" + }, + "en_AU": { + "name": "English (Australian)", + "nativeName": "English (Australian)" + }, + "en_CA": { + "name": "English (Canadian)", + "nativeName": "English (Canadian)" + }, + "en_GB": { + "name": "English (British)", + "nativeName": "English (British)" + }, + "en_NZ": { + "name": "English (New Zealand)", + "nativeName": "English (New Zealand)" + }, + "en_US": { + "name": "English (US)", + "nativeName": "English (US)" + }, + "en_ZA": { + "name": "English (South African)", + "nativeName": "English (South African)" + }, + "eo": { + "name": "Esperanto", + "nativeName": "Esperanto" + }, + "es": { + "name": "Spanish", + "nativeName": "Español" + }, + "es_AR": { + "name": "Spanish (Argentina)", + "nativeName": "Español (de Argentina)" + }, + "es_CL": { + "name": "Spanish (Chile)", + "nativeName": "Español (de Chile)" + }, + "es_ES": { + "name": "Spanish (Spain)", + "nativeName": "Español (de España)" + }, + "es_MX": { + "name": "Spanish (Mexico)", + "nativeName": "Español (de México)" + }, + "et": { + "name": "Estonian", + "nativeName": "Eesti keel" + }, + "eu": { + "name": "Basque", + "nativeName": "Euskara" + }, + "fa": { + "name": "Persian", + "nativeName": "فارسی", + "orientation": "rtl" + }, + "fi": { + "name": "Finnish", + "nativeName": "Suomi" + }, + "fi_FI": { + "name": "Finnish", + "nativeName": "Suomi" + }, + "fj_FJ": { + "name": "Fijian", + "nativeName": "Vosa vaka_Viti" + }, + "fr": { + "name": "French", + "nativeName": "Français" + }, + "fr_CA": { + "name": "French (Canada)", + "nativeName": "Français (Canada)" + }, + "fr_FR": { + "name": "French (France)", + "nativeName": "Français (France)" + }, + "fur": { + "name": "Friulian", + "nativeName": "Furlan" + }, + "fur_IT": { + "name": "Friulian", + "nativeName": "Furlan" + }, + "fy": { + "name": "Frisian", + "nativeName": "Frysk" + }, + "fy_NL": { + "name": "Frisian", + "nativeName": "Frysk" + }, + "ga": { + "name": "Irish", + "nativeName": "Gaeilge" + }, + "ga_IE": { + "name": "Irish (Ireland)", + "nativeName": "Gaeilge (Éire)" + }, + "gd": { + "name": "Gaelic (Scotland)", + "nativeName": "Gàidhlig" + }, + "gl": { + "name": "Galician", + "nativeName": "Galego" + }, + "gu": { + "name": "Gujarati", + "nativeName": "ગુજરાતી" + }, + "gu_IN": { + "name": "Gujarati", + "nativeName": "ગુજરાતી" + }, + "he": { + "name": "Hebrew", + "nativeName": "עברית", + "orientation": "rtl" + }, + "he_IL": { + "name": "Hebrew", + "nativeName": "עברית", + "orientation": "rtl" + }, + "hi": { + "name": "Hindi", + "nativeName": "हिन्दी" + }, + "hi_IN": { + "name": "Hindi (India)", + "nativeName": "हिन्दी (भारत)" + }, + "hr": { + "name": "Croatian", + "nativeName": "Hrvatski" + }, + "hr_HR": { + "name": "Croatian", + "nativeName": "Hrvatski" + }, + "hsb": { + "name": "Upper Sorbian", + "nativeName": "Hornjoserbsce" + }, + "hu": { + "name": "Hungarian", + "nativeName": "Magyar" + }, + "hu_HU": { + "name": "Hungarian", + "nativeName": "Magyar" + }, + "hy": { + "name": "Armenian", + "nativeName": "Հայերեն" + }, + "hy_AM": { + "name": "Armenian", + "nativeName": "Հայերեն" + }, + "id": { + "name": "Indonesian", + "nativeName": "Bahasa Indonesia" + }, + "is": { + "name": "Icelandic", + "nativeName": "íslenska" + }, + "it": { + "name": "Italian", + "nativeName": "Italiano" + }, + "it_IT": { + "name": "Italian", + "nativeName": "Italiano" + }, + "ja": { + "name": "Japanese", + "nativeName": "日本語" + }, + "ja_JP": { + "name": "Japanese", + "nativeName": "日本語" + }, + "ka": { + "name": "Georgian", + "nativeName": "ქართული" + }, + "kk": { + "name": "Kazakh", + "nativeName": "Қазақ" + }, + "kn": { + "name": "Kannada", + "nativeName": "ಕನ್ನಡ" + }, + "ko": { + "name": "Korean", + "nativeName": "한국어" + }, + "ko_KR": { + "name": "Korean", + "nativeName": "한국어" + }, + "ku": { + "name": "Kurdish", + "nativeName": "Kurdî" + }, + "la": { + "name": "Latin", + "nativeName": "Latina" + }, + "lb": { + "name": "Luxembourgish", + "nativeName": "Lëtzebuergesch" + }, + "lg": { + "name": "Luganda", + "nativeName": "Luganda" + }, + "lt": { + "name": "Lithuanian", + "nativeName": "Lietuvių kalba" + }, + "lv": { + "name": "Latvian", + "nativeName": "Latviešu" + }, + "mai": { + "name": "Maithili", + "nativeName": "मैथिली মৈথিলী" + }, + "mg": { + "name": "Malagasy", + "nativeName": "Malagasy" + }, + "mi": { + "name": "Maori (Aotearoa)", + "nativeName": "Māori (Aotearoa)" + }, + "mk": { + "name": "Macedonian", + "nativeName": "Македонски" + }, + "ml": { + "name": "Malayalam", + "nativeName": "മലയാളം" + }, + "mn": { + "name": "Mongolian", + "nativeName": "Монгол" + }, + "mr": { + "name": "Marathi", + "nativeName": "मराठी" + }, + "no": { + "name": "Norwegian", + "nativeName": "Norsk" + }, + "no_NO": { + "name": "Norwegian", + "nativeName": "Norsk" + }, + "nb": { + "name": "Norwegian", + "nativeName": "Norsk" + }, + "nb_NO": { + "name": "Norwegian (Bokmål)", + "nativeName": "Norsk bokmål" + }, + "ne_NP": { + "name": "Nepali", + "nativeName": "नेपाली" + }, + "nn_NO": { + "name": "Norwegian (Nynorsk)", + "nativeName": "Norsk nynorsk" + }, + "nl": { + "name": "Dutch", + "nativeName": "Nederlands" + }, + "nl_NL": { + "name": "Dutch", + "nativeName": "Nederlands" + }, + "nr": { + "name": "Ndebele, South", + "nativeName": "IsiNdebele" + }, + "nso": { + "name": "Northern Sotho", + "nativeName": "Sepedi" + }, + "oc": { + "name": "Occitan (Lengadocian)", + "nativeName": "Occitan (lengadocian)" + }, + "or": { + "name": "Oriya", + "nativeName": "ଓଡ଼ିଆ" + }, + "pa": { + "name": "Punjabi", + "nativeName": "ਪੰਜਾਬੀ" + }, + "pa_IN": { + "name": "Punjabi", + "nativeName": "ਪੰਜਾਬੀ" + }, + "pl": { + "name": "Polish", + "nativeName": "Polski" + }, + "pl_PL": { + "name": "Polish", + "nativeName": "Polski" + }, + "pt": { + "name": "Portuguese", + "nativeName": "Português" + }, + "pt_BR": { + "name": "Portuguese (Brazilian)", + "nativeName": "Português (do Brasil)" + }, + "pt_PT": { + "name": "Portuguese (Portugal)", + "nativeName": "Português (Europeu)" + }, + "ro": { + "name": "Romanian", + "nativeName": "Română" + }, + "ro_RO": { + "name": "Romanian", + "nativeName": "Română" + }, + "rm": { + "name": "Romansh", + "nativeName": "Rumantsch" + }, + "ru": { + "name": "Russian", + "nativeName": "Русский" + }, + "ru_RU": { + "name": "Russian", + "nativeName": "Русский" + }, + "rw": { + "name": "Kinyarwanda", + "nativeName": "Ikinyarwanda" + }, + "si": { + "name": "Sinhala", + "nativeName": "සිංහල" + }, + "sk": { + "name": "Slovak", + "nativeName": "Slovenčina" + }, + "sl": { + "name": "Slovenian", + "nativeName": "Slovensko" + }, + "son": { + "name": "Songhai", + "nativeName": "Soŋay" + }, + "sq": { + "name": "Albanian", + "nativeName": "Shqip" + }, + "sr": { + "name": "Serbian", + "nativeName": "Српски" + }, + "sr_SP": { + "name": "Serbian", + "nativeName": "Српски" + }, + "sr_Latn": { + "name": "Serbian", + "nativeName": "Srpski" + }, + "ss": { + "name": "Siswati", + "nativeName": "siSwati" + }, + "st": { + "name": "Southern Sotho", + "nativeName": "Sesotho" + }, + "sv": { + "name": "Swedish", + "nativeName": "Svenska" + }, + "sv_SE": { + "name": "Swedish", + "nativeName": "Svenska" + }, + "ta": { + "name": "Tamil", + "nativeName": "தமிழ்" + }, + "ta_IN": { + "name": "Tamil (India)", + "nativeName": "தமிழ் (இந்தியா)" + }, + "ta_LK": { + "name": "Tamil (Sri Lanka)", + "nativeName": "தமிழ் (இலங்கை)" + }, + "te": { + "name": "Telugu", + "nativeName": "తెలుగు" + }, + "th": { + "name": "Thai", + "nativeName": "ไทย" + }, + "tlh": { + "name": "Klingon", + "nativeName": "Klingon" + }, + "tn": { + "name": "Tswana", + "nativeName": "Setswana" + }, + "tr": { + "name": "Turkish", + "nativeName": "Türkçe" + }, + "tr_TR": { + "name": "Turkish", + "nativeName": "Türkçe" + }, + "ts": { + "name": "Tsonga", + "nativeName": "Xitsonga" + }, + "tt": { + "name": "Tatar", + "nativeName": "Tatarça" + }, + "tt_RU": { + "name": "Tatar", + "nativeName": "Tatarça" + }, + "uk": { + "name": "Ukrainian", + "nativeName": "Українська" + }, + "uk_UA": { + "name": "Ukrainian", + "nativeName": "Українська" + }, + "ur": { + "name": "Urdu", + "nativeName": "اُردو", + "orientation": "rtl" + }, + "ve": { + "name": "Venda", + "nativeName": "Tshivenḓa" + }, + "vi": { + "name": "Vietnamese", + "nativeName": "Tiếng Việt" + }, + "vi_VN": { + "name": "Vietnamese", + "nativeName": "Tiếng Việt" + }, + "wo": { + "name": "Wolof", + "nativeName": "Wolof" + }, + "xh": { + "name": "Xhosa", + "nativeName": "isiXhosa" + }, + "zh": { + "name": "Chinese (Simplified)", + "nativeName": "中文 (简体)" + }, + "zh_CN": { + "name": "Chinese (Simplified)", + "nativeName": "中文 (简体)" + }, + "zh_TW": { + "name": "Chinese (Traditional)", + "nativeName": "正體中文 (繁體)" + }, + "zu": { + "name": "Zulu", + "nativeName": "isiZulu" + } +} diff --git a/flextype/config/settings.json b/flextype/config/settings.json new file mode 100644 index 00000000..ed8f459a --- /dev/null +++ b/flextype/config/settings.json @@ -0,0 +1,60 @@ +{ + "title":"Flextype", + "description":"Build fast, flexible, easier to manage websites with Flextype.", + "keywords":"flextype, php, cms, flat-file cms, flat cms, flatfile cms, html", + "robots":"index, follow", + "author":{ + "email":"", + "name":"" + }, + "timezone":"UTC", + "charset":"UTF-8", + "date_format":"F d Y H:i:s", + "theme":"default", + "locale":"en_US", + "entries":{ + "main":"home", + "media":{ + "upload_images_quality":70, + "upload_images_width":1600, + "upload_images_height":0, + "accept_file_types":"gif, jpg, jpeg, png, ico, zip, tgz, txt, md, doc, docx, pdf, epub, xls, xlsx, ppt, pptx, mp3, ogg, wav, m4a, mp4, m4v, ogv, wmv, avi, webm, svg" + }, + "error404":{ + "title":"Error 404", + "description":"We're sorry but the page you are looking for doesn't appear to exist!", + "content":"We're sorry but the page you are looking for doesn't appear to exist!", + "template":"default" + } + }, + "errors":{ + "display":false + }, + "cache":{ + "enabled":true, + "prefix":"flextype", + "driver":"auto", + "lifetime":604800, + "memcache":{ + "server":"localhost", + "port":11211 + }, + "memcached":{ + "server":"localhost", + "port":11211 + }, + "redis":{ + "socket":false, + "password":false, + "server":"localhost", + "port":6379 + }, + "sqlite3":{ + "database":"flextype", + "table":"flextype" + } + }, + "admin_panel":{ + "theme":"light" + } +} diff --git a/flextype/config/settings.yaml b/flextype/config/settings.yaml deleted file mode 100644 index 17302830..00000000 --- a/flextype/config/settings.yaml +++ /dev/null @@ -1,121 +0,0 @@ -# The title of the website -title: "Flextype" - -# The description of the website -description: "Modern Open Source Flat-File Content Management System" - -# The keywords of the website -keywords: "flextype, php, cms, flat-file cms, flat cms, flatfile cms, html" - -# The robots of the website -robots: "index, follow" - -# The name and email address of the website author -author: - email: "" - name: "" - -# Set the timezone to be used on the website. -# For a list of valid timezone settings, see: -# http://php.net/manual/en/timezones.php -timezone: UTC - -# Charset -# -# Set internal character encoding. -# -# Currently the following names are supported: -# http://php.net/manual/ru/function.mb-regex-encoding.php#121645 -charset: UTF-8 - -# Valid date format -# see: http://php.net/manual/ru/function.date.php -date_format: "F d Y H:i:s" - -# The theme to use. -# -# Don't edit the provided theme templates directly, because they get updated -# in next releases. If you wish to modify a default theme, copy its folder, and -# change the name here accordingly. -theme: default - -# The locale that'll be used by the Flextype. -locale: "en" - -# The entries settings -# Define the file types (extensions to be exact) that are acceptable for upload. -entries: - main: home - media: - upload_images_quality: 70 - upload_images_width: 1600 - upload_images_height: 0 - accept_file_types: "gif, jpg, jpeg, png, ico, zip, tgz, txt, md, doc, docx, pdf, epub, xls, xlsx, ppt, pptx, mp3, ogg, wav, m4a, mp4, m4v, ogv, wmv, avi, webm, svg" - error404: - title: "Error 404" - description: "We're sorry but the page you are looking for doesn't appear to exist!" - content: "We're sorry but the page you are looking for doesn't appear to exist!" - template: "default" - -# Display errors -# -# - display: Display errors or not. -errors: - display: false - -# Cache -# -# - enabled: Set to true to enable caching -# -# - prefix: Cache prefix string (prevents cache conflicts) -# -# - driver: Available drivers: auto (will get one from installed cache drivers), apcu, -# apc, array, wincache, xcache, memcache, memcached, redis, file. -# -# - lifetime: Lifetime of cached data in seconds -# -# - redis.socket: Path to redis unix socket (e.g. /var/run/redis/redis.sock), -# false = use server and port to connect -# -# - redis.password Redis password -# -# - redis.server Redis server -# -# - redis.port Redis port -# -# - memcache.server Memcache server -# -# - memcache.port Memcache port -# -# - memcached.server Memcached server -# -# - memcached.port Memcached port -# -# - sqlite3.database SQLite3 Database -# -# - sqlite3.table SQLite3 Table -cache: - enabled: true - prefix: flextype - driver: auto - lifetime: 604800 - memcache: - server: 'localhost' - port: 11211 - memcached: - server: 'localhost' - port: 11211 - redis: - socket: false - password: false - server: 'localhost' - port: 6379 - sqlite3: - database: flextype - table: flextype - -# Admin Panel -# -# - themes: Theme (dark, light) -admin_panel: - theme: light diff --git a/flextype/core/Cache.php b/flextype/core/Cache.php new file mode 100755 index 00000000..a6192c11 --- /dev/null +++ b/flextype/core/Cache.php @@ -0,0 +1,407 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; +use \Doctrine\Common\Cache as DoctrineCache; + +class Cache +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Unique cache key + * + * @var string Cache key. + */ + private $key; + + /** + * Lifetime + * + * @var int Lifetime. + */ + private $lifetime; + + /** + * Current time + * + * @var int Current time. + */ + private $now; + + /** + * Cache Driver + * + * @var DoctrineCache + */ + private $driver; + + /** + * Constructor + * + * @access public + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + + // Create Cache Directory + !Filesystem::has(PATH['cache']) and Filesystem::createDir(PATH['cache']); + + // Set current time + $this->now = time(); + + // Create cache key to allow invalidate all cache on configuration changes. + $this->key = ($this->flextype['registry']->get('settings.cache.prefix') ?? 'flextype') . '-' . md5(PATH['site'] . 'Flextype::VERSION'); + + // Get Cache Driver + $this->driver = $this->getCacheDriver(); + + // Set the cache namespace to our unique key + $this->driver->setNamespace($this->key); + } + + /** + * Get Cache Driver + * + * @access public + * @return object + */ + public function getCacheDriver() + { + // Try to set default cache driver name + $driver_name = $this->setDefaultCacheDriverName($this->flextype['registry']->get('settings.cache.driver')); + + // Set cache driver + return $this->setCacheDriver($driver_name); + } + + protected function setCacheDriver(string $driver_name) + { + switch ($driver_name) { + case 'apcu': + $driver = $this->setApcuCacheDriver(); + break; + case 'array': + $driver = $this->setArrayCacheDriver(); + break; + case 'wincache': + $driver = $this->setWinCacheDriver(); + break; + case 'memcached': + $driver = $this->setMemcachedCacheDriver(); + break; + case 'sqlite3': + $driver = $this->setSQLite3CacheDriver(); + break; + case 'zend': + $driver = $this->setZendDataCacheDriver(); + break; + case 'redis': + $driver = $this->setRedisCacheDriver(); + break; + default: + $driver = $this->setFilesystemCacheDriver(); + break; + } + + return $driver; + } + + /** + * The ZendDataCache driver uses the Zend Data Cache API available in the Zend Platform. + * + * @access protected + */ + protected function setZendDataCacheDriver() + { + $driver = new DoctrineCache\ZendDataCache(); + + return $driver; + } + + /** + * The SQLite3Cache driver stores the cache data in a SQLite database and depends on the sqlite3 extension + * http://php.net/manual/en/book.sqlite3.php + * + * @access protected + */ + protected function setSQLite3CacheDriver() + { + // Cache directory + $cache_directory = PATH['cache'] . '/doctrine/'; + + // Create doctrine cache directory if its not exists + !Filesystem::has($cache_directory) and Filesystem::createDir($cache_directory); + + $db = new \SQLite3($cache_directory . $this->flextype['registry']->get('settings.cache.sqlite3.database', 'flextype') . '.db'); + $driver = new DoctrineCache\SQLite3Cache($db, $this->flextype['registry']->get('settings.cache.sqlite3.table', 'flextype')); + + return $driver; + } + + /** + * The MemcachedCache drivers stores the cache data in Memcached. + * + * @access protected + */ + protected function setMemcachedCacheDriver() + { + $memcached = new \Memcached(); + $memcached->addServer( + $this->flextype['registry']->get('settings.cache.memcached.server', 'localhost'), + $this->flextype['registry']->get('settings.cache.memcache.port', 11211) + ); + $driver = new DoctrineCache\MemcachedCache(); + $driver->setMemcached($memcached); + + return $driver; + } + + /** + * The WinCacheCache driver uses the wincache_ucache_get, wincache_ucache_exists, etc. functions + * that come with the wincache extension + * http://php.net/manual/en/book.wincache.php + * + * @access protected + */ + protected function setWinCacheDriver() + { + $driver = new DoctrineCache\WinCacheCache(); + + return $driver; + } + + /** + * The ArrayCache driver stores the cache data in PHPs memory and is not persisted anywhere. + * This can be useful for caching things in memory for a single process when you don't need the cache to be persistent across processes. + * @access protected + */ + protected function setArrayCacheDriver() + { + $driver = new DoctrineCache\ArrayCache(); + + return $driver; + } + + /** + * The ApcuCache driver uses the apcu_fetch, apcu_exists, etc. functions + * that come with PHP so no additional setup is required in order to use it. + * + * @access protected + */ + protected function setApcuCacheDriver() + { + $driver = new DoctrineCache\ApcuCache(); + + return $driver; + } + + /** + * The RedisCache driver stores the cache data in Redis and depends on the phpredis extension + * https://github.com/phpredis/phpredis + * + * @access protected + */ + protected function setRedisCacheDriver() + { + $redis = new \Redis(); + $socket = $this->flextype['registry']->get('settings.cache.redis.socket', false); + $password = $this->flextype['registry']->get('settings.cache.redis.password', false); + + if ($socket) { + $redis->connect($socket); + } else { + $redis->connect( + $this->flextype['registry']->get('settings.cache.redis.server', 'localhost'), + $this->flextype['registry']->get('settings.cache.redis.port', 6379) + ); + } + + // Authenticate with password if set + if ($password && !$redis->auth($password)) { + throw new \RedisException('Redis authentication failed'); + } + + $driver = new DoctrineCache\RedisCache(); + $driver->setRedis($redis); + + return $driver; + } + + /** + * Filesystem cache Driver + * + * @access protected + */ + protected function setFilesystemCacheDriver() + { + // Cache directory + $cache_directory = PATH['cache'] . '/doctrine/'; + + // Create doctrine cache directory if its not exists + !Filesystem::has($cache_directory) and Filesystem::createDir($cache_directory); + $driver = new DoctrineCache\FilesystemCache($cache_directory); + + return $driver; + } + + /** + * Set Default Cache Driver Name + * + * @access protected + * @param string $driver_name Driver name. + * @return string + */ + protected function setDefaultCacheDriverName(string $driver_name) + { + if (!$driver_name || $driver_name == 'auto') { + if (extension_loaded('apcu')) { + $driver_name = 'apcu'; + } elseif (extension_loaded('wincache')) { + $driver_name = 'wincache'; + } else { + $driver_name = 'file'; + } + } + + return $driver_name; + } + + /** + * Returns driver variable + * + * @access public + * @return object + */ + public function driver() + { + return $this->driver; + } + + /** + * Get cache key. + * + * @access public + * @return string + */ + public function getKey() : string + { + return $this->key; + } + + /** + * Fetches an entry from the cache. + * + * @access public + * @param string $id The id of the cache entry to fetch. + * @return mixed The cached data or FALSE, if no cache entry exists for the given id. + */ + public function fetch(string $id) + { + if ($this->flextype['registry']->get('settings.cache.enabled')) { + return $this->driver->fetch($id); + } else { + return false; + } + } + + /** + * Returns a boolean state of whether or not the item exists in the cache based on id key + * + * @param string $id the id of the cached data entry + * @return bool true if the cached items exists + */ + public function contains($id) + { + if ($this->flextype['registry']->get('settings.cache.enabled')) { + return $this->driver->contains($id); + } else { + return false; + } + } + + /** + * Puts data into the cache. + * + * @access public + * @param string $id The cache id. + * @param mixed $data The cache entry/data. + * @param int $lifetime The lifetime in number of seconds for this cache entry. + * If zero (the default), the entry never expires (although it may be deleted from the cache + * to make place for other entries). + */ + public function save(string $id, $data, $lifetime = null) + { + if ($this->flextype['registry']->get('settings.cache.enabled')) { + if ($lifetime === null) { + $lifetime = $this->getLifetime(); + } + $this->driver->save($id, $data, $lifetime); + } + } + + /** + * Clear Cache + */ + public function clear() : void + { + // Clear stat cache + @clearstatcache(); + + // Clear opcache + function_exists('opcache_reset') and @opcache_reset(); + + // Remove cache dirs + Filesystem::deleteDir(PATH['cache'] . '/doctrine/'); + Filesystem::deleteDir(PATH['cache'] . '/glide/'); + } + + /** + * Set the cache lifetime. + * + * @access public + * @param int $future timestamp + */ + public function setLifetime(int $future) + { + if (!$future) { + return; + } + + $interval = $future-$this->now; + + if ($interval > 0 && $interval < $this->getLifetime()) { + $this->lifetime = $interval; + } + } + + /** + * Retrieve the cache lifetime (in seconds) + * + * @access public + * @return mixed + */ + public function getLifetime() + { + if ($this->lifetime === null) { + $this->lifetime = $this->flextype['registry']->get('settings.cache.lifetime') ?: 604800; + } + + return $this->lifetime; + } +} diff --git a/flextype/core/Controller.php b/flextype/core/Controller.php new file mode 100644 index 00000000..c3c07917 --- /dev/null +++ b/flextype/core/Controller.php @@ -0,0 +1,30 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class Controller +{ + protected $container; + + public function __construct($container) + { + $this->container = $container; + } + + public function __get($property) + { + if ($this->container->{$property}) { + return $this->container->{$property}; + } + } +} diff --git a/flextype/core/Entries.php b/flextype/core/Entries.php new file mode 100755 index 00000000..6c0610b8 --- /dev/null +++ b/flextype/core/Entries.php @@ -0,0 +1,283 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Arr\Arr; +use Flextype\Component\Filesystem\Filesystem; + +class Entries +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + * + * @access public + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Fetch entry + * + * @access public + * @param string $id Entry id + * @return array|false The entry contents or false on failure. + */ + public function fetch(string $id) + { + $entry_file = $this->_file_location($id); + + if (Filesystem::has($entry_file)) { + $cache_id = md5('entry' . $entry_file . ((Filesystem::getTimestamp($entry_file) === false) ? '' : Filesystem::getTimestamp($entry_file))); + + // Try to get the entry from cache + if ($this->flextype['cache']->contains($cache_id)) { + if ($entry_decoded = $this->flextype['cache']->fetch($cache_id)) { + + // Apply Shortcodes for each entry fields + foreach ($entry_decoded as $key => $_entry_decoded) { + $entry_decoded[$key] = $_entry_decoded;//$this->flextype['shortcodes']->process($_entry_decoded); + } + + return $entry_decoded; + } else { + return false; + } + } else { + if ($entry_body = Filesystem::read($entry_file)) { + if ($entry_decoded = JsonParser::decode($entry_body)) { + + // Create default entry items + $entry_decoded['date'] = $entry_decoded['date'] ?? date($this->flextype['registry']->get('settings.date_format'), Filesystem::getTimestamp($entry_file)); + $entry_decoded['slug'] = $entry_decoded['slug'] ?? ltrim(rtrim($id, '/'), '/'); + + // Save to cache + $this->flextype['cache']->save($cache_id, $entry_decoded); + + // Apply Shortcodes for each entry fields + foreach ($entry_decoded as $key => $_entry_decoded) { + $entry_decoded[$key] = $_entry_decoded;//$this->flextype['shortcodes']->process($_entry_decoded); + } + + return $entry_decoded; + } else { + return false; + } + } else { + return false; + } + } + } else { + return false; + } + } + + /** + * Fetch all entries + * + * @access public + * @param string $id Entry id + * @param string $order_by Order by specific entry field. + * @param string $order_type Order type: DESC or ASC + * @param int $offset Offset + * @param int $length Length + * @return array The entries + */ + public function fetchAll(string $id, string $order_by = 'date', string $order_type = 'DESC', int $offset = null, int $length = null) : array + { + // Entries array where founded entries will stored + $entries = []; + + // Сache id + $cache_id = ''; + + // Entries path + $entries_path = $this->_dir_location($id); + + // Get entries list + $entries_list = Filesystem::listContents($entries_path); + + // Create entries cached id + foreach ($entries_list as $current_entry) { + if (strpos($current_entry['path'], $id . '/entry.json') !== false) { + // ignore ... + } else { + if ($current_entry['type'] == 'dir' && Filesystem::has($current_entry['path'] . '/entry.json')) { + $cache_id .= md5('entries' . $current_entry['path'] . Filesystem::getTimestamp($current_entry['path'] . '/entry.json')); + } + } + } + + if ($this->flextype['cache']->contains($cache_id)) { + $entries = $this->flextype['cache']->fetch($cache_id); + } else { + + // Create entries array from entries list and ignore current requested entry + foreach ($entries_list as $current_entry) { + if (strpos($current_entry['path'], $id . '/entry.json') !== false) { + // ignore ... + } else { + if ($current_entry['type'] == 'dir' && Filesystem::has($current_entry['path'] . '/entry.json')) { + $entries[$current_entry['dirname']] = $this->fetch($id . '/' . $current_entry['dirname']); + } + } + } + + $this->flextype['cache']->save($cache_id, $entries); + } + + // Sort and Slice entries if $raw === false + if (count($entries) > 0) { + $entries = Arr::sort($entries, $order_by, $order_type); + + if ($offset !== null && $length !== null) { + $entries = array_slice($entries, $offset, $length); + } + } + + return $entries; + } + + /** + * Rename entry. + * + * @access public + * @param string $id Entry id + * @param string $new_id New entry id + * @return bool True on success, false on failure. + */ + public function rename(string $id, string $new_id) : bool + { + return rename($this->_dir_location($id), $this->_dir_location($new_id)); + } + + /** + * Update entry + * + * @access public + * @param string $id Entry + * @param array $data Data + * @return bool + */ + public function update(string $id, array $data) : bool + { + $entry_file = $this->_file_location($id); + + if (Filesystem::has($entry_file)) { + return Filesystem::write($entry_file, JsonParser::encode($data)); + } else { + return false; + } + } + + /** + * Create entry + * + * @access public + * @param string $id Entry id + * @param array $data Data + * @return bool + */ + public function create(string $id, array $data) : bool + { + $entry_dir = $this->_dir_location($id); + + // Check if new entry directory exists + if (!Filesystem::has($entry_dir)) { + + // Try to create directory for new entry + if (Filesystem::createDir($entry_dir)) { + $entry_file = $entry_dir . '/entry.json'; + + // Check if new entry file exists + if (!Filesystem::has($entry_file)) { + return Filesystem::write($entry_file, JsonParser::encode($data)); + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + + /** + * Delete entry. + * + * @access public + * @param string $id Entry id + * @return bool True on success, false on failure. + */ + public function delete(string $id) : bool + { + return Filesystem::deleteDir($this->_dir_location($id)); + } + + /** + * Copy entry(s) + * + * @access public + * @param string $id Entry id + * @param string $new_id New entry id + * @param bool $recursive Recursive copy entries. + * @return bool True on success, false on failure. + */ + public function copy(string $id, string $new_id, bool $recursive = false) + { + return Filesystem::copy($this->_dir_location($id), $this->_dir_location($new_id), $recursive); + } + + /** + * Check whether entry exists. + * + * @access public + * @param string $id Entry + * @return bool + */ + public function has(string $id) : bool + { + return Filesystem::has($this->_file_location($id)); + } + + /** + * Helper method _file_location + * + * @access private + * @param string $id Entry id + * @return string + */ + private function _file_location(string $id) : string + { + return PATH['entries'] . '/' . $id . '/entry.json'; + } + + /** + * Helper method _dir_location + * + * @access private + * @param string $id Entry id + * @return string + */ + private function _dir_location(string $id) : string + { + return PATH['entries'] . '/' . $id; + } +} diff --git a/flextype/core/Fieldsets.php b/flextype/core/Fieldsets.php new file mode 100644 index 00000000..b3539895 --- /dev/null +++ b/flextype/core/Fieldsets.php @@ -0,0 +1,198 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; + +class Fieldsets +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + * + * @access public + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Fetch fieldset + * + * @access public + * @param string $id Fieldset id + * @return array|false The entry contents or false on failure. + */ + public function fetch(string $id) + { + $fieldset_file = $this->_file_location($id); + + if (Filesystem::has($fieldset_file)) { + if ($fieldset_body = Filesystem::read($fieldset_file)) { + if ($fieldset_decoded = JsonParser::decode($fieldset_body)) { + return $fieldset_decoded; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + + /** + * Fetch all fieldsets + * + * @access public + * @return array + */ + public function fetchAll() : array + { + // Init Fieldsets array + $fieldsets = []; + + // Get fieldsets files + $_fieldsets = Filesystem::listContents($this->_dir_location()); + + // If there is any fieldsets file then go... + if (count($_fieldsets) > 0) { + foreach ($_fieldsets as $fieldset) { + if ($fieldset['type'] == 'file' && $fieldset['extension'] == 'json') { + $fieldset_content = JsonParser::decode(Filesystem::read($fieldset['path'])); + $fieldsets[$fieldset['basename']] = $fieldset_content['title']; + } + } + } + + // return fieldsets array + return $fieldsets; + } + + /** + * Rename fieldset + * + * @access public + * @param string $id Fieldset id + * @param string $new_id New fieldset id + * @return bool True on success, false on failure. + */ + public function rename(string $id, string $new_id) : bool + { + return rename($this->_file_location($id), $this->_file_location($new_id)); + } + + /** + * Update fieldset + * + * @access public + * @param string $id Fieldset id + * @param array $data Fieldset data to save + * @return bool True on success, false on failure. + */ + public function update(string $id, array $data) : bool + { + $fieldset_file = $this->_file_location($id); + + if (Filesystem::has($fieldset_file)) { + return Filesystem::write($fieldset_file, JsonParser::encode($data)); + } else { + return false; + } + } + + /** + * Create fieldset + * + * @access public + * @param string $id Fieldset id + * @param array $data Fieldset data to save + * @return bool True on success, false on failure. + */ + public function create(string $id, array $data) : bool + { + $fieldset_file = $this->_file_location($id); + + if (!Filesystem::has($fieldset_file)) { + return Filesystem::write($fieldset_file, JsonParser::encode($data)); + } else { + return false; + } + } + + /** + * Delete fieldset + * + * @access public + * @param string $id Fieldset id + * @return bool True on success, false on failure. + */ + public function delete(string $id) : bool + { + return Filesystem::delete($this->_file_location($id)); + } + + /** + * Copy fieldset + * + * @access public + * @param string $id Fieldset id + * @param string $new_id New fieldset id + * @return bool True on success, false on failure. + */ + public function copy(string $id, string $new_id) : bool + { + return Filesystem::copy($this->_file_location($id), $this->_file_location($new_id), false); + } + + /** + * Check whether fieldset exists. + * + * @access public + * @param string $id Fieldset id + * @return bool True on success, false on failure. + */ + public function has(string $id) : bool + { + return Filesystem::has($this->_file_location($id)); + } + + /** + * Helper method _dir_location + * + * @access private + * @return string + */ + private function _dir_location() : string + { + return PATH['site'] . '/fieldsets/'; + } + + /** + * Helper method _file_location + * + * @access private + * @param string $id Fieldsets id + * @return string + */ + private function _file_location(string $id) : string + { + return PATH['site'] . '/fieldsets/' . $id . '.json'; + } +} diff --git a/flextype/core/Middleware.php b/flextype/core/Middleware.php new file mode 100644 index 00000000..d6ca4417 --- /dev/null +++ b/flextype/core/Middleware.php @@ -0,0 +1,30 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class Middleware +{ + protected $container; + + public function __construct($container) + { + $this->container = $container; + } + + public function __get($property) + { + if ($this->container->{$property}) { + return $this->container->{$property}; + } + } +} diff --git a/flextype/core/Plugins.php b/flextype/core/Plugins.php new file mode 100755 index 00000000..18f95194 --- /dev/null +++ b/flextype/core/Plugins.php @@ -0,0 +1,201 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; +use Flextype\Component\I18n\I18n; +use Flextype\Component\Arr\Arr; + +class Plugins +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Locales array + * + * @var array + */ + private $locales = []; + + /** + * Constructor + * + * @access public + */ + public function __construct($flextype, $app) + { + $this->flextype = $flextype; + $this->locales = JsonParser::decode(Filesystem::read(ROOT_DIR . '/flextype/config/locales.json')); + } + + public function getLocales() + { + return $this->locales; + } + + /** + * Init Plugins + * + * @access private + * @return void + */ + public function init($flextype, $app) : void + { + // Set empty plugins item + $this->flextype['registry']->set('plugins', []); + + // Get Plugins List + $_plugins_list = Filesystem::listContents(PATH['plugins']); + $plugins_list = []; + + foreach($_plugins_list as $plugin) { + if ($plugin['type'] == 'dir') { + $plugins_list[] = $plugin; + } + } + + // Get plugins cache ID + $plugins_cache_id = $this->getPluginsCacheID($plugins_list); + + // If Plugins List isnt empty then create plugin cache ID + if (is_array($plugins_list) && count($plugins_list) > 0) { + + // Get plugins list from cache or scan plugins folder and create new plugins cache item + if ($this->flextype['cache']->contains($plugins_cache_id)) { + $this->flextype['registry']->set('plugins', $this->flextype['cache']->fetch($plugins_cache_id)); + } else { + + // If Plugins List isnt empty + if (is_array($plugins_list) && count($plugins_list) > 0) { + + // Init plugin configs + $_plugins_config = []; + $plugin_settings = []; + $plugin_config = []; + + // Go through... + foreach ($plugins_list as $plugin) { + if (Filesystem::has($_plugin_settings = PATH['plugins'] . '/' . $plugin['dirname'] . '/settings.json')) { + if (($content = Filesystem::read($_plugin_settings)) === false) { + throw new \RuntimeException('Load file: ' . $_plugin_settings . ' - failed!'); + } else { + $plugin_settings = JsonParser::decode($content); + } + } + + if (Filesystem::has($_plugin_config = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.json')) { + if (($content = Filesystem::read($_plugin_config)) === false) { + throw new \RuntimeException('Load file: ' . $_plugin_config . ' - failed!'); + } else { + $plugin_config = JsonParser::decode($content); + } + } + + $_plugins_config[$plugin['dirname']] = array_merge($plugin_settings, $plugin_config); + + // Set default plugin priority 0 + if (!isset($_plugins_config[$plugin['dirname']]['priority'])) { + $_plugins_config[$plugin['dirname']]['priority'] = 0; + } + } + + // Sort plugins list by priority. + $_plugins_config = Arr::sort($_plugins_config, 'priority', 'DESC'); + + $this->flextype['registry']->set('plugins', $_plugins_config); + $this->flextype['cache']->save($plugins_cache_id, $_plugins_config); + } + } + + $this->createPluginsDictionary($plugins_list); + + $this->includeEnabledPlugins($flextype, $app); + + $this->flextype['emitter']->emit('onPluginsInitialized'); + } + } + + /** + * Create plugins dictionary + * + * @param array $plugins_list Plugins list + * @access protected + * @return void + */ + private function createPluginsDictionary(array $plugins_list) : void + { + if (is_array($plugins_list) && count($plugins_list) > 0) { + foreach ($this->locales as $locale => $locale_title) { + foreach ($plugins_list as $plugin) { + $language_file = PATH['plugins'] . '/' . $plugin['dirname'] . '/lang/' . $locale . '.json'; + if (Filesystem::has($language_file)) { + if (($content = Filesystem::read($language_file)) === false) { + throw new \RuntimeException('Load file: ' . $language_file . ' - failed!'); + } else { + I18n::add(JsonParser::decode($content), $locale); + } + } + } + } + } + } + + /** + * Get plugins cache ID + * + * @param array $plugins_list Plugins list + * @access protected + * @return string + */ + private function getPluginsCacheID(array $plugins_list) : string + { + // Plugin cache id + $_plugins_cache_id = ''; + + // Go through... + if (is_array($plugins_list) && count($plugins_list) > 0) { + foreach ($plugins_list as $plugin) { + if (Filesystem::has($_plugin_settings = PATH['plugins'] . '/' . $plugin['dirname'] . '/settings.json') and + Filesystem::has($_plugin_config = PATH['plugins'] . '/' . $plugin['dirname'] . '/plugin.json')) { + $_plugins_cache_id .= filemtime($_plugin_settings) . filemtime($_plugin_config); + } + } + } + + // Create Unique Cache ID for Plugins + $plugins_cache_id = md5('plugins' . PATH['plugins'] . '/' . $_plugins_cache_id); + + // Return plugin cache id + return $plugins_cache_id; + } + + /** + * Include enabled plugins + * + * @access protected + * @return void + */ + private function includeEnabledPlugins($flextype, $app) : void + { + if (is_array($this->flextype['registry']->get('plugins')) && count($this->flextype['registry']->get('plugins')) > 0) { + foreach ($this->flextype['registry']->get('plugins') as $plugin_name => $plugin) { + if ($this->flextype['registry']->get('plugins.' . $plugin_name . '.enabled')) { + include_once PATH['plugins'] . '/' . $plugin_name . '/bootstrap.php'; + } + } + } + } +} diff --git a/flextype/core/Snippets.php b/flextype/core/Snippets.php new file mode 100644 index 00000000..ad53c7fe --- /dev/null +++ b/flextype/core/Snippets.php @@ -0,0 +1,241 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; + +class Snippets +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + * + * @access public + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Get snippet + * + * @access public + * @param string $id Snippet id + * @return string|bool Returns the contents of the output buffer and end output buffering. + * If output buffering isn't active then FALSE is returned. + */ + public function display(string $id) + { + return $this->_display_snippet(['fetch' => $id]); + } + + /** + * Fetch snippet + * + * @access public + * @param string $id Snippet id + * @return array|false The entry contents or false on failure. + */ + public function fetch(string $id) + { + $snippet_file = $this->_file_location($id); + + if (Filesystem::has($snippet_file)) { + if ($snippet_body = Filesystem::read($snippet_file)) { + return $snippet_body; + } else { + return false; + } + } else { + return false; + } + } + + /** + * Fetch Snippets + * + * @access public + * @return array + */ + public function fetchAll() : array + { + $snippets = []; + + // Get snippets files + $_snippets = Filesystem::listContents($this->_dir_location()); + + // If there is any snippets file then go... + if (count($_snippets) > 0) { + foreach ($_snippets as $snippet) { + if ($snippet['type'] == 'file' && $snippet['extension'] == 'php') { + $snippets[$snippet['basename']] = $snippet['basename']; + } + } + } + + // return snippets + return $snippets; + } + + /** + * Rename snippet. + * + * @access public + * @param string $id Snippet id + * @param string $new_id New snippet id + * @return bool True on success, false on failure. + */ + public function rename(string $id, string $new_id) : bool + { + return rename($this->_file_location($id), $this->_file_location($new_id)); + } + + /** + * Update Snippet + * + * @access public + * @param string $id Snippet id + * @param string $data Data + * @return bool True on success, false on failure. + */ + public function update(string $id, string $data) : bool + { + $snippet_file = $this->_file_location($id); + + if (Filesystem::has($snippet_file)) { + return Filesystem::write($snippet_file, $data); + } else { + return false; + } + } + + /** + * Create snippet + * + * @access public + * @param string $id Snippet id + * @param string $data Data + * @return bool True on success, false on failure. + */ + public function create(string $id, string $data = '') : bool + { + $snippet_file = $this->_file_location($id); + + // Check if new entry file exists + if (!Filesystem::has($snippet_file)) { + return Filesystem::write($snippet_file, $data); + } else { + return false; + } + } + + /** + * Delete snippet. + * + * @access public + * @param string $id Snippet id + * @return bool True on success, false on failure. + */ + public function delete(string $id) : bool + { + return Filesystem::delete($this->_file_location($id)); + } + + /** + * Copy snippet + * + * @access public + * @param string $id Snippet id + * @param string $new_id New snippet id + * @return bool True on success, false on failure. + */ + public function copy(string $id, string $new_id) : bool + { + return Filesystem::copy($this->_file_location($id), $this->_file_location($new_id), false); + } + + /** + * Check whether snippet exists. + * + * @access public + * @param string $id Snippet id + * @return bool True on success, false on failure. + */ + public function has(string $id) : bool + { + return Filesystem::has($this->_file_location($id)); + } + + /** + * Helper private method _display_snippet + * + * @access private + * @param array $vars Vars + * @return string|bool Returns the contents of the output buffer and end output buffering. + * If output buffering isn't active then FALSE is returned. + */ + private function _display_snippet(array $vars) + { + // Extracst attributes + extract($vars); + + // Get snippet name + $name = (isset($fetch)) ? (string) $fetch : ''; + + // Define snippet path + $snippet_file = $this->_file_location($name); + + // Process snippet + if (Filesystem::has($snippet_file)) { + + // Turn on output buffering + ob_start(); + + // Include view file + include $snippet_file; + + // Output... + return ob_get_clean(); + } else { + throw new \RuntimeException("Snippet {$name} does not exist."); + } + } + + /** + * Helper method _file_location + * + * @access private + * @param string $id Snippet id + * @return string + */ + private function _file_location(string $id) : string + { + return PATH['snippets'] . '/' . $id . '.php'; + } + + /** + * Helper method _dir_location + * + * @access private + * @return string + */ + private function _dir_location() : string + { + return PATH['snippets'] . '/'; + } +} diff --git a/flextype/core/Themes.php b/flextype/core/Themes.php new file mode 100644 index 00000000..8f544508 --- /dev/null +++ b/flextype/core/Themes.php @@ -0,0 +1,114 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; + +class Themes +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Private construct method to enforce singleton behavior. + * + * @access private + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + public function init($flextype, $app) + { + + // Get current theme + $theme = $this->flextype['registry']->get('settings.theme'); + + // Set empty themes items + $this->flextype['registry']->set('themes', []); + + // Create Unique Cache ID for Theme + $theme_cache_id = md5('theme' . filemtime(PATH['themes'] . '/' . $theme . '/' . 'settings.json') . + filemtime(PATH['themes'] . '/' . $theme . '/' . 'theme.json')); + + // Get Theme mafifest file and write to settings.themes array + if ($this->flextype['cache']->contains($theme_cache_id)) { + $this->flextype['registry']->set('themes.' . $this->flextype['registry']->get('settings.theme'), $this->flextype['cache']->fetch($theme_cache_id)); + } else { + if (Filesystem::has($theme_settings = PATH['themes'] . '/' . $theme . '/' . 'settings.json') and + Filesystem::has($theme_config = PATH['themes'] . '/' . $theme . '/' . 'theme.json')) { + $theme_settings = JsonParser::decode(Filesystem::read($theme_settings)); + $theme_config = JsonParser::decode(Filesystem::read($theme_config)); + $_theme = array_merge($theme_settings, $theme_config); + $this->flextype['registry']->set('themes.' . $this->flextype['registry']->get('settings.theme'), $_theme); + $this->flextype['cache']->save($theme_cache_id, $_theme); + } + } + } + + + /** + * Get partials for current theme + * + * @access public + * @return array + */ + public function getPartials() : array + { + $partials = []; + + // Get partials files + $_partials = Filesystem::listContents(PATH['themes'] . '/' . $this->flextype['registry']->get('settings.theme') . '/templates/partials/'); + + // If there is any partials file then go... + if (count($_partials) > 0) { + foreach ($_partials as $partial) { + if ($partial['type'] == 'file' && $partial['extension'] == 'html') { + $partials[$partial['basename']] = $partial['basename']; + } + } + } + + // return partials + return $partials; + } + + /** + * Get templates for current theme + * + * @access public + * @return array + */ + public function getTemplates() : array + { + $templates = []; + + // Get templates files + $_templates = Filesystem::listContents(PATH['themes'] . '/' . $this->flextype['registry']->get('settings.theme') . '/templates/'); + + // If there is any template file then go... + if (count($_templates) > 0) { + foreach ($_templates as $template) { + if ($template['type'] == 'file' && $template['extension'] == 'html') { + $templates[$template['basename']] = $template['basename']; + } + } + } + + // return templates + return $templates; + } +} diff --git a/flextype/dependencies.php b/flextype/dependencies.php new file mode 100644 index 00000000..478b167b --- /dev/null +++ b/flextype/dependencies.php @@ -0,0 +1,231 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Registry\Registry; +use Thunder\Shortcode\ShortcodeFacade; +use Slim\Flash\Messages; +use Cocur\Slugify\Slugify; +use League\Glide\ServerFactory; +use League\Glide\Responses\SlimResponseFactory; +use League\Event\Emitter; + +/** + * Add CSRF (cross-site request forgery) protection service to Flextype container + */ +$flextype['csrf'] = function ($container) { + return new \Slim\Csrf\Guard; +}; + +/** + * Add logger + */ +$flextype['logger'] = function($container) { + $logger = new \Monolog\Logger('flextype'); + $file_handler = new \Monolog\Handler\StreamHandler(PATH['site'] . '/logs/' . date('Y-m-d') . '.log'); + $logger->pushHandler($file_handler); + return $logger; +}; + +/** + * Add emitter service to Flextype container + */ +$flextype['emitter'] = function ($container) { + return new Emitter(); +}; + +/** + * Add slugify service to Flextype container + */ +$flextype['slugify'] = function ($container) { + return new Slugify(['separator' => '-', 'lowercase' => true, 'trim' => true]); +}; + +/** + * Add flash service to Flextype container + */ +$flextype['flash'] = function ($container) { + return new Messages(); +}; + +/** + * Add registry service to Flextype container + */ +$flextype['registry'] = function ($container) { + return new Registry(); +}; + +/** + * Add cache service to Flextype container + */ +$flextype['cache'] = function ($container) use ($flextype) { + return new Cache($flextype); +}; + +/** + * Add images service to Flextype container + */ +$flextype['images'] = function ($container) { + + // Get images settings + $imagesSettings = $container->get('settings')['images']; + + // Set source filesystem + $source = new \League\Flysystem\Filesystem( + new \League\Flysystem\Adapter\Local(PATH['entries']) + ); + + // Set cache filesystem + $cache = new \League\Flysystem\Filesystem( + new \League\Flysystem\Adapter\Local(PATH['cache'] . '/glide') + ); + + // Set watermarks filesystem + $watermarks = new \League\Flysystem\Filesystem( + new \League\Flysystem\Adapter\Local(PATH['site'] . '/watermarks') + ); + + // Set image manager + $imageManager = new \Intervention\Image\ImageManager($imagesSettings); + + // Set manipulators + $manipulators = [ + new \League\Glide\Manipulators\Orientation(), + new \League\Glide\Manipulators\Crop(), + new \League\Glide\Manipulators\Size(2000*2000), + new \League\Glide\Manipulators\Brightness(), + new \League\Glide\Manipulators\Contrast(), + new \League\Glide\Manipulators\Gamma(), + new \League\Glide\Manipulators\Sharpen(), + new \League\Glide\Manipulators\Filter(), + new \League\Glide\Manipulators\Blur(), + new \League\Glide\Manipulators\Pixelate(), + new \League\Glide\Manipulators\Watermark($watermarks), + new \League\Glide\Manipulators\Background(), + new \League\Glide\Manipulators\Border(), + new \League\Glide\Manipulators\Encode(), + ]; + + // Set API + $api = new \League\Glide\Api\Api($imageManager, $manipulators); + + // Setup Glide server + $server = \League\Glide\ServerFactory::create([ + 'source' => $source, + 'cache' => $cache, + 'api' => $api, + 'response' => new SlimResponseFactory(), + ]); + + return $server; +}; + +/** + * Add fieldsets service to Flextype container + */ +$flextype['fieldsets'] = function ($container) use ($flextype) { + return new Fieldsets($flextype); +}; + +/** + * Add snippets service to Flextype container + */ +$flextype['snippets'] = function ($container) use ($flextype) { + return new Snippets($flextype); +}; + +/** + * Add shortcodes service to Flextype container + */ +$flextype['shortcodes'] = function ($container) { + return new ShortcodeFacade(); +}; + +/** + * Add entries service to Flextype container + */ +$flextype['entries'] = function ($container) { + return new Entries($container); +}; + +/** + * Add view service to Flextype container + */ +$flextype['view'] = function ($container) { + + // Get twig settings + $twigSettings = $container->get('settings')['twig']; + + // Create Twig View + $view = new \Slim\Views\Twig(PATH['site'], $twigSettings); + + // Instantiate + $router = $container->get('router'); + $uri = \Slim\Http\Uri::createFromEnvironment(new \Slim\Http\Environment($_SERVER)); + + // Add Twig Extension + $view->addExtension(new \Slim\Views\TwigExtension($router, $uri)); + + // Add Twig Debug Extension + $view->addExtension(new \Twig\Extension\DebugExtension()); + + // Add Entries Twig Extension + $view->addExtension(new EntriesTwigExtension($container)); + + // Add Emitter Twig Extension + $view->addExtension(new EmitterTwigExtension($container)); + + // Add Flash Twig Extension + $view->addExtension(new FlashTwigExtension($container)); + + // Add I18n Twig Extension + $view->addExtension(new I18nTwigExtension()); + + // Add JsonParser Extension + $view->addExtension(new JsonParserTwigExtension()); + + // Add Filesystem Extension + $view->addExtension(new FilesystemTwigExtension()); + + // Add Assets Twig Extension + $view->addExtension(new AssetsTwigExtension()); + + // Add Csrf Twig Extension + $view->addExtension(new CsrfTwigExtension($container->get('csrf'))); + + // Add Global Vars Twig Extension + $view->addExtension(new GlobalVarsTwigExtension($container)); + + // Add Global Shortcodes Twig Extension + $view->addExtension(new ShortcodesTwigExtension($container)); + + // Add Global Snippets Twig Extension + $view->addExtension(new SnippetsTwigExtension($container)); + + // Return view + return $view; +}; + +/** + * Add themes service to Flextype container + */ +$flextype['themes'] = function ($container) use ($flextype, $app) { + return new Themes($flextype, $app); +}; + +/** + * Add plugins service to Flextype container + */ +$flextype['plugins'] = function ($container) use ($flextype, $app) { + return new Plugins($flextype, $app); +}; diff --git a/flextype/middlewares.php b/flextype/middlewares.php new file mode 100644 index 00000000..f0b36faf --- /dev/null +++ b/flextype/middlewares.php @@ -0,0 +1,26 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Psr7Middlewares\Middleware; +use Psr7Middlewares\Middleware\TrailingSlash; + +/** + * Add middleware CSRF (cross-site request forgery) protection for all routes + */ +$app->add($flextype->get('csrf')); + +/** + * Add middleware TrailingSlash for all routes + */ +$app->add((new TrailingSlash(false))->redirect(301)); diff --git a/flextype/parsers/JsonParser.php b/flextype/parsers/JsonParser.php new file mode 100644 index 00000000..9077a4fd --- /dev/null +++ b/flextype/parsers/JsonParser.php @@ -0,0 +1,119 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class JsonParser +{ + + /** + * Encode options + * + * Bitmask consisting of encode options + * https://www.php.net/manual/en/function.json-encode.php + * + * @var int + */ + public static $encode_options = JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT; + + /** + * Encode Depth + * + * Set the maximum depth. + * + * @var int + */ + public static $encode_depth = 512; + + /** + * Decode assoc + * + * Set the maximum depth. + * + * @var int + */ + public static $decode_assoc = true; + + /** + * Decode Depth + * + * Set the maximum depth. + * + * @var int + */ + public static $decode_depth = 512; + + /** + * Decode options + * + * Bitmask consisting of decode options + * https://www.php.net/manual/en/function.json-decode.php + * + * @var int + */ + public static $decode_options = 0; + + /** + * Returns the JSON representation of a value + * + * $result = JsonParser::encode($json_content); + * + * @param mixed $input A string containing JSON + * @param int $encode_depth User specified recursion depth. + * @param int $encode_options Bitmask consisting of encode options. + * @return mixed The JSON converted to a PHP value + * + */ + public static function encode($input, int $encode_options = 0, int $encode_depth = 512) : string + { + $encoded = @json_encode( + $input, + $encode_options ? $encode_options : JsonParser::$encode_options, + $encode_depth ? $encode_depth : JsonParser::$encode_depth + ); + + if ($encoded === false) { + throw new \RuntimeException('Encoding JSON failed'); + } + + return $encoded; + } + + /** + * Takes a JSON encoded string and converts it into a PHP variable. + * + * $array = JsonParser::decode($json_file_content); + * + * @param string $input A string containing JSON + * @param bool $decode_assoc When TRUE, returned objects will be converted into associative arrays. + * @param int $decode_depth User specified recursion depth. + * @param int $decode_options Bitmask consisting of decode options. + * @return mixed The JSON converted to a PHP value + * + * @throws ParseException If the JSON is not valid + */ + public static function decode(string $input, bool $decode_assoc = true, int $decode_depth = 512, int $decode_options = 0) + { + $decoded = @json_decode( + $input, + $decode_assoc ? $decode_assoc : JsonParser::$decode_assoc, + $decode_depth ? $decode_depth : JsonParser::$decode_depth, + $decode_options ? $decode_options : JsonParser::$decode_options + ); + + if ($decoded === false) { + throw new \RuntimeException('Decoding JSON failed'); + } + + return $decoded; + } +} diff --git a/flextype/parsers/YamlParser.php b/flextype/parsers/YamlParser.php deleted file mode 100644 index 79915bbc..00000000 --- a/flextype/parsers/YamlParser.php +++ /dev/null @@ -1,118 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Flextype; - -use Symfony\Component\Yaml\Yaml; -use Symfony\Component\Yaml\Exception\DumpException; -use Symfony\Component\Yaml\Exception\ParseException; - -class YamlParser { - - /** - * Inline - * - * The level where you switch to inline YAML - * - * @var int - */ - public static $inline = 5; - - /** - * Ident - * - * The amount of spaces to use for indentation of nested nodes - * - * @var int - */ - public static $indent = 2; - - /** - * Native - * - * Use native parser or symfony - * - * @var bool - */ - public static $native = true; - - /** - * Flag - * - * A bit field of PARSE_* constants to customize the YAML parser behavior - * - * @var int - */ - public static $flag = 16; - - /** - * Dumps a PHP value to a YAML string. - * - * The dump method, when supplied with an array, will do its best - * to convert the array into friendly YAML. - * - * @param mixed $input The PHP value - * @param int $inline The level where you switch to inline YAML - * @param int $indent The amount of spaces to use for indentation of nested nodes - * @param int $flags A bit field of DUMP_* constants to customize the dumped YAML string - * - * @return string A YAML string representing the original PHP value - */ - public static function encode($input, int $inline = 5, int $indent = 2, int $flags = 16) : string - { - try { - return Yaml::dump( - $input, - $inline ? $inline : YamlParser::$inline, - $indent ? $indent : YamlParser::$indent, - $flags ? $flags : YamlParser::$flag - ); - } catch (DumpException $e) { - throw new \RuntimeException('Encoding YAML failed: ' . $e->getMessage(), 0, $e); - } - } - - /** - * Parses YAML into a PHP value. - * - * $array = YamlParser::decode($yaml_file_content); - * - * @param string $input A string containing YAML - * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior - * - * @return mixed The YAML converted to a PHP value - * - * @throws ParseException If the YAML is not valid - */ - public static function decode(string $input, int $flags = 0) - { - // Try native PECL YAML PHP extension first if available. - if (YamlParser::$native && function_exists('yaml_parse')) { - - // Safely decode YAML. - $saved = @ini_get('yaml.decode_php'); - @ini_set('yaml.decode_php', 0); - $decoded = @yaml_parse($input); - @ini_set('yaml.decode_php', $saved); - - if ($decoded !== false) { - return (array) $decoded; - } - } - - try { - return (array) Yaml::parse($input); - } catch (ParseException $e) { - throw new \RuntimeException('Decoding YAML failed: ' . $e->getMessage(), 0, $e); - } - } -} diff --git a/flextype/routes/web.php b/flextype/routes/web.php new file mode 100644 index 00000000..b8db77d9 --- /dev/null +++ b/flextype/routes/web.php @@ -0,0 +1,13 @@ +get('/image/{path:.+}', function (Request $request, Response $response, array $args) use ($flextype) { + return $flextype['images']->getImageResponse($args['path'], $_GET); +}); diff --git a/flextype/shortcodes/SiteUrlShortcode.php b/flextype/shortcodes/SiteUrlShortcode.php new file mode 100644 index 00000000..974b8e3b --- /dev/null +++ b/flextype/shortcodes/SiteUrlShortcode.php @@ -0,0 +1,21 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Thunder\Shortcode\ShortcodeFacade; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +// Shortcode: [site_url] +$flextype['shortcodes']->addHandler('site_url', function () { + return \Slim\Http\Uri::createFromEnvironment(new \Slim\Http\Environment($_SERVER))->getBaseUrl(); +}); diff --git a/flextype/shortcodes/SnippetsShortcode.php b/flextype/shortcodes/SnippetsShortcode.php new file mode 100644 index 00000000..f4754fa0 --- /dev/null +++ b/flextype/shortcodes/SnippetsShortcode.php @@ -0,0 +1,21 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Thunder\Shortcode\ShortcodeFacade; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +// Shortcode: [snippets fetch=snippet-name] +$flextype['shortcodes']->addHandler('snippets', function (ShortcodeInterface $s) use ($flextype) { + return $flextype['snippets']->display($s->getParameter('fetch')); +}); diff --git a/flextype/twig/AssetsTwigExtension.php b/flextype/twig/AssetsTwigExtension.php new file mode 100644 index 00000000..66f08aef --- /dev/null +++ b/flextype/twig/AssetsTwigExtension.php @@ -0,0 +1,41 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Assets\Assets; + +class AssetsTwigExtension extends \Twig_Extension +{ + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('assets_add', [$this, 'add']), + new \Twig_SimpleFunction('assets_get', [$this, 'get']), + ]; + } + + public function add(string $asset_type, string $asset, string $namespace, int $priority = 1) : void + { + Assets::add($asset_type, $asset, $namespace, $priority); + } + + public function get(string $asset_type, string $namespace) : array + { + return Assets::get($asset_type, $namespace); + } +} diff --git a/flextype/twig/CsrfTwigExtension.php b/flextype/twig/CsrfTwigExtension.php new file mode 100644 index 00000000..62367b6b --- /dev/null +++ b/flextype/twig/CsrfTwigExtension.php @@ -0,0 +1,75 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class CsrfTwigExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface +{ + + /** + * @var \Slim\Csrf\Guard + */ + protected $csrf; + + public function __construct(\Slim\Csrf\Guard $csrf) + { + $this->csrf = $csrf; + } + + public function getGlobals() + { + // CSRF token name and value + $csrfNameKey = $this->csrf->getTokenNameKey(); + $csrfValueKey = $this->csrf->getTokenValueKey(); + $csrfName = $this->csrf->getTokenName(); + $csrfValue = $this->csrf->getTokenValue(); + + return [ + 'csrf' => [ + 'keys' => [ + 'name' => $csrfNameKey, + 'value' => $csrfValueKey + ], + 'name' => $csrfName, + 'value' => $csrfValue + ] + ]; + } + + public function getName() + { + return 'slim/csrf'; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('csrf', [$this, 'csrf'], ['is_safe' => ['html']]), + ]; + } + + /** + * CSRF + * + * @return string + */ + public function csrf() + { + return ''. + ''; + } +} diff --git a/flextype/twig/EmitterTwigExtension.php b/flextype/twig/EmitterTwigExtension.php new file mode 100644 index 00000000..86c621b6 --- /dev/null +++ b/flextype/twig/EmitterTwigExtension.php @@ -0,0 +1,46 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class EmitterTwigExtension extends \Twig_Extension +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('emmiter_emmit', [$this, 'emit']), + ]; + } + + public function emit(string $event) + { + $this->flextype['emitter']->emit($event); + } +} diff --git a/flextype/twig/EntriesTwigExtension.php b/flextype/twig/EntriesTwigExtension.php new file mode 100644 index 00000000..4a265b62 --- /dev/null +++ b/flextype/twig/EntriesTwigExtension.php @@ -0,0 +1,52 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class EntriesTwigExtension extends \Twig_Extension +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('entries_fetch', [$this, 'fetch']), + new \Twig_SimpleFunction('entries_fetch_all', [$this, 'fetchAll']), + ]; + } + + public function fetch(string $entry) + { + return $this->flextype['entries']->fetch($entry); + } + + public function fetchAll(string $entry, string $order_by = 'date', string $order_type = 'DESC', int $offset = null, int $length = null) : array + { + return $this->flextype['entries']->fetchAll($entry, $order_by, $order_type, $offset, $length); + } +} diff --git a/flextype/twig/FilesystemTwigExtension.php b/flextype/twig/FilesystemTwigExtension.php new file mode 100644 index 00000000..28517ed2 --- /dev/null +++ b/flextype/twig/FilesystemTwigExtension.php @@ -0,0 +1,53 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Filesystem\Filesystem; + +class FilesystemTwigExtension extends \Twig_Extension +{ + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('filesystem_has', [$this, 'has']), + new \Twig_SimpleFunction('filesystem_read', [$this, 'read']), + new \Twig_SimpleFunction('filesystem_ext', [$this, 'ext']), + new \Twig_SimpleFunction('filesystem_basename', [$this, 'basename']), + ]; + } + + public function has($path) + { + return Filesystem::has($path); + } + + public function read($path) + { + return Filesystem::read($path); + } + + public function ext($file) + { + return substr(strrchr($file, '.'), 1); + } + + public function basename($value, $suffix = '') + { + return basename($value, $suffix); + } +} diff --git a/flextype/twig/FlashTwigExtension.php b/flextype/twig/FlashTwigExtension.php new file mode 100644 index 00000000..9ea53bef --- /dev/null +++ b/flextype/twig/FlashTwigExtension.php @@ -0,0 +1,59 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Slim\Flash\Messages; + +class FlashTwigExtension extends \Twig_Extension +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() : array + { + return [ + new \Twig_SimpleFunction('flash', [$this, 'getMessages']), + ]; + } + + /** + * Returns Flash messages; If key is provided then returns messages + * for that key. + * + * @param string $key + * @return array + */ + public function getMessages($key = null) : array + { + if (null !== $key) { + return $this->flextype['flash']->getMessage($key); + } + + return $this->flextype['flash']->getMessages(); + } +} diff --git a/flextype/twig/GlobalVarsTwigExtension.php b/flextype/twig/GlobalVarsTwigExtension.php new file mode 100644 index 00000000..9d7ba101 --- /dev/null +++ b/flextype/twig/GlobalVarsTwigExtension.php @@ -0,0 +1,47 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Session\Session; + +class GlobalVarsTwigExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + public function getGlobals() + { + return [ + 'PATH_SITE' => PATH['site'], + 'PATH_PLUGINS' => PATH['plugins'], + 'PATH_THEMES' => PATH['themes'], + 'PATH_ENTRIES' => PATH['entries'], + 'PATH_SNIPPETS' => PATH['snippets'], + 'PATH_CONFIG_DEFAULT' => PATH['config']['default'], + 'PATH_CONFIG_SITE' => PATH['config']['site'], + 'PATH_CACHE' => PATH['cache'], + 'flextype_version' => FLEXTYPE_VERSION, + 'registry' => $this->flextype['registry']->dump() + ]; + } +} diff --git a/flextype/twig/I18nTwigExtension.php b/flextype/twig/I18nTwigExtension.php new file mode 100644 index 00000000..65a5abec --- /dev/null +++ b/flextype/twig/I18nTwigExtension.php @@ -0,0 +1,35 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\I18n\I18n; + +class I18nTwigExtension extends \Twig_Extension +{ + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('tr', [$this, 'tr']), + ]; + } + + public function tr(string $translate, string $locale = null, array $values = []) : string + { + return I18n::find($translate, $locale, $values); + } +} diff --git a/flextype/twig/JsonParserTwigExtension.php b/flextype/twig/JsonParserTwigExtension.php new file mode 100644 index 00000000..a9cfe3bd --- /dev/null +++ b/flextype/twig/JsonParserTwigExtension.php @@ -0,0 +1,39 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class JsonParserTwigExtension extends \Twig_Extension +{ + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('json_parser_decode', [$this, 'decode']), + new \Twig_SimpleFunction('json_parser_encode', [$this, 'encode']) + ]; + } + + public function encode($input, int $encode_options = 0, int $encode_depth = 512) : string + { + return JsonParser::encode($input, $encode_options, $encode_depth); + } + + public function decode(string $input, bool $decode_assoc = true, int $decode_depth = 512, int $decode_options = 0) + { + return JsonParser::decode($input, $decode_assoc, $decode_depth, $decode_options); + } +} diff --git a/flextype/twig/ShortcodesTwigExtension.php b/flextype/twig/ShortcodesTwigExtension.php new file mode 100644 index 00000000..f50e353c --- /dev/null +++ b/flextype/twig/ShortcodesTwigExtension.php @@ -0,0 +1,47 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class ShortcodesTwigExtension extends \Twig_Extension +{ + + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFilters() + { + return [ + new \Twig_SimpleFilter('shortcode', [$this, 'shortcode']), + ]; + } + + public function shortcode(string $value) : string + { + return $this->flextype->shortcodes->process($value); + } +} diff --git a/flextype/twig/SnippetsTwigExtension.php b/flextype/twig/SnippetsTwigExtension.php new file mode 100644 index 00000000..88dc21f5 --- /dev/null +++ b/flextype/twig/SnippetsTwigExtension.php @@ -0,0 +1,46 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +class SnippetsTwigExtension extends \Twig_Extension +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + /** + * Callback for twig. + * + * @return array + */ + public function getFunctions() + { + return [ + new \Twig_SimpleFunction('snippet', [$this, 'snippet']) + ]; + } + + public function snippet(string $id) + { + return $this->flextype['snippets']->display($id); + } +} diff --git a/index.php b/index.php index 06ad6e32..25a043b7 100755 --- a/index.php +++ b/index.php @@ -3,8 +3,8 @@ /** * @package Flextype * - * @author Sergey Romanenko - * @link http://flextype.org + * @author Sergey Romanenko + * @link http://romanenko.digital * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. @@ -12,36 +12,57 @@ namespace Flextype; -// Define the application minimum supported PHP version. +/** + * Define the application minimum supported PHP version. + */ define('FLEXTYPE_MINIMUM_PHP', '7.1.3'); -// Define the path to the root directory (without trailing slash). +/** + * Define the PATH to the root directory (without trailing slash). + */ define('ROOT_DIR', str_replace(DIRECTORY_SEPARATOR, '/', getcwd())); -// Define the PATH (without trailing slash). -define('PATH', ['site' => ROOT_DIR . '/site', - 'plugins' => ROOT_DIR . '/site/plugins', - 'themes' => ROOT_DIR . '/site/themes', - 'entries' => ROOT_DIR . '/site/entries', - 'snippets' => ROOT_DIR . '/site/snippets', - 'menus' => ROOT_DIR . '/site/menus', - 'config' => [ +/** + * Define the PATH (without trailing slash). + */ +define('PATH', ['site' => ROOT_DIR . '/site', + 'plugins' => ROOT_DIR . '/site/plugins', + 'themes' => ROOT_DIR . '/site/themes', + 'entries' => ROOT_DIR . '/site/entries', + 'snippets' => ROOT_DIR . '/site/snippets', + 'fieldsets' => ROOT_DIR . '/site/fieldsets', + 'config' => [ 'default' => ROOT_DIR . '/flextype/config', 'site' => ROOT_DIR . '/site/config' - ], - 'cache' => ROOT_DIR . '/site/cache']); + ], + 'cache' => ROOT_DIR . '/site/cache']); -// Define the path to the logs directory (without trailing slash). -define('LOGS_PATH', PATH['site'] . '/logs'); - -// Check PHP Version +/** + * Check PHP Version + */ version_compare($ver = PHP_VERSION, $req = FLEXTYPE_MINIMUM_PHP, '<') and exit(sprintf('You are running PHP %s, but Flextype needs at least PHP %s to run.', $ver, $req)); -// Ensure vendor libraries exist +/** + * Ensure vendor libraries exist + */ !is_file($autoload = __DIR__ . '/vendor/autoload.php') and exit("Please run: composer install"); -// Register The Auto Loader +/** + * Register The Auto Loader + * + * Composer provides a convenient, automatically generated class loader for + * our application. We just need to utilize it! We'll simply require it + * into the script here so that we don't have to worry about manual + * loading any of our classes later on. It feels nice to relax. + * Register The Auto Loader + */ $loader = require_once $autoload; -// Get Flextype Instance -$flextype = Flextype::getInstance(); +/** + * Bootstraps the Flextype + * + * This bootstraps the Flextype and gets it ready for use, then it + * will load up this application so that we can run it and send + * the responses back to the browser and delight our users. + */ +include 'flextype/bootstrap.php'; diff --git a/site/accounts/.gitkeep b/site/accounts/.gitkeep deleted file mode 100755 index e69de29b..00000000 diff --git a/site/cache/.gitkeep b/site/cache/.gitkeep deleted file mode 100755 index e69de29b..00000000 diff --git a/site/config/settings.json b/site/config/settings.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/site/config/settings.json @@ -0,0 +1 @@ +{} diff --git a/site/config/settings.yaml b/site/config/settings.yaml deleted file mode 100644 index e69de29b..00000000 diff --git a/site/entries/about/entry.html b/site/entries/about/entry.html deleted file mode 100644 index ce8d7dca..00000000 --- a/site/entries/about/entry.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: About -image: lilia.jpg -template: about -fieldset: about -date: 'December 26 2018 10:26:04' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/site/entries/about/entry.json b/site/entries/about/entry.json new file mode 100644 index 00000000..246c911a --- /dev/null +++ b/site/entries/about/entry.json @@ -0,0 +1,13 @@ +{ + "title": "About", + "image": "lilia.jpg", + "template": "about", + "fieldset": "about", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\r\n

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\r\n", + "date": "June 07 2019 10:08:11", + "description": "", + "menu_item_title": "About", + "menu_item_url": "about", + "menu_item_target": "self", + "menu_item_order": "3" +} \ No newline at end of file diff --git a/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.html b/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.html deleted file mode 100644 index 0d9c8f70..00000000 --- a/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.html +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: 'Allamco laboris nisi ut aliquip nisi ut aliquip' -summary: '

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

' -template: blog-post -fieldset: blog-post -date: 'December 25 2018 23:16:47' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
-

- -
-

-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
-

- -
-

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

diff --git a/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.json b/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.json new file mode 100644 index 00000000..cac44269 --- /dev/null +++ b/site/entries/blog/allamco-laboris-nisi-ut-aliquip/entry.json @@ -0,0 +1,8 @@ +{ + "title": "Allamco laboris nisi ut aliquip nisi ut aliquip", + "summary": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

", + "template": "blog-post", + "fieldset": "blog-post", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n
\n

\n \"\"\n
\n

\n
\n

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n
\n

\n \"\"\n
\n

\n

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n
\n

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n", + "date": "June 06 2019 22:08:11" +} \ No newline at end of file diff --git a/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.html b/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.html deleted file mode 100644 index 8fcc673b..00000000 --- a/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Cillum dolore eu fugiat nulla pariatur' -summary: '

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

' -template: blog-post -fieldset: blog-post -date: 'December 25 2018 23:13:53' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.json b/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.json new file mode 100644 index 00000000..3887a225 --- /dev/null +++ b/site/entries/blog/cillum-dolore-eu-fugiat-nulla-pariatur/entry.json @@ -0,0 +1,8 @@ +{ + "title": "Cillum dolore eu fugiat nulla pariatur", + "summary": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

", + "template": "blog-post", + "fieldset": "blog-post", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n", + "date": "June 06 2019 22:08:11" +} \ No newline at end of file diff --git a/site/entries/blog/entry.html b/site/entries/blog/entry.html deleted file mode 100644 index 2b69ce40..00000000 --- a/site/entries/blog/entry.html +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Blog -template: blog -fieldset: blog -date: 'December 25 2018 22:27:15' ---- diff --git a/site/entries/blog/entry.json b/site/entries/blog/entry.json new file mode 100644 index 00000000..38920e69 --- /dev/null +++ b/site/entries/blog/entry.json @@ -0,0 +1,11 @@ +{ + "title": "Blog", + "template": "blog", + "fieldset": "blog", + "date": "June 07 2019 10:08:11", + "description": "", + "menu_item_title": "Blog", + "menu_item_url": "blog", + "menu_item_target": "self", + "menu_item_order": "2" +} \ No newline at end of file diff --git a/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.html b/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.html deleted file mode 100644 index 31d158b2..00000000 --- a/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Excepteur sint occaecat cupidatat non proident' -summary: '

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

' -template: blog-post -fieldset: blog-post -date: 'December 25 2018 22:57:55' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.json b/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.json new file mode 100644 index 00000000..d9c55233 --- /dev/null +++ b/site/entries/blog/excepteur-sint-occaecat-cupidatat-non-proident/entry.json @@ -0,0 +1,8 @@ +{ + "title": "Excepteur sint occaecat cupidatat non proident", + "summary": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

", + "template": "blog-post", + "fieldset": "blog-post", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n", + "date": "June 06 2019 22:08:11" +} \ No newline at end of file diff --git a/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.html b/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.html deleted file mode 100644 index 1fa3cc84..00000000 --- a/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit' -summary: '

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

' -template: blog-post -fieldset: blog-post -date: 'December 25 2018 22:50:01' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.json b/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.json new file mode 100644 index 00000000..59df0734 --- /dev/null +++ b/site/entries/blog/lorem-ipsum-dolor-sit-amet-consectetur-adipisicing-elit/entry.json @@ -0,0 +1,8 @@ +{ + "title": "Lorem ipsum dolor sit amet, consectetur adipisicing elit", + "summary": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

", + "template": "blog-post", + "fieldset": "blog-post", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n", + "date": "June 06 2019 22:08:11" +} \ No newline at end of file diff --git a/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.html b/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.html deleted file mode 100644 index d41a8f16..00000000 --- a/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.html +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: 'Ullamco laboris nisi ut aliquip' -summary: '

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

' -template: blog-post -fieldset: blog-post -date: 'December 25 2018 23:14:49' - ---- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file diff --git a/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.json b/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.json new file mode 100644 index 00000000..00edeb7c --- /dev/null +++ b/site/entries/blog/ullamco-laboris-nisi-ut-aliquip/entry.json @@ -0,0 +1,8 @@ +{ + "title": "Ullamco laboris nisi ut aliquip", + "summary": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

", + "template": "blog-post", + "fieldset": "blog-post", + "content": "

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\n", + "date": "June 06 2019 22:08:11" +} \ No newline at end of file diff --git a/site/entries/home/entry.html b/site/entries/home/entry.html deleted file mode 100644 index 641a54a3..00000000 --- a/site/entries/home/entry.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Home -template: home -visibility: visible -date: 'December 25 2018 23:46:58' -fieldset: default ---- -

- Welcome! -

-

- Welcome to your new Flextype powered website. -
- Flextype is succesfully installed, you can start editing the content and customising your site in Admin panel. -

-
-

Latest blog posts:

diff --git a/site/entries/home/entry.json b/site/entries/home/entry.json new file mode 100644 index 00000000..18a49208 --- /dev/null +++ b/site/entries/home/entry.json @@ -0,0 +1,13 @@ +{ + "title": "Home", + "content": "

\r\n Welcome!\r\n

\r\n

\r\n Welcome to your new Flextype powered website.\r\n
\r\n Flextype is succesfully installed, you can start editing the content and customising your site in Admin panel.\r\n

\r\n
\r\n

Latest blog posts:

\r\n", + "template": "home", + "fieldset": "default", + "visibility": "visible", + "date": "February 20 2019 11:06:46", + "description": "", + "menu_item_title": "Home", + "menu_item_url": "home", + "menu_item_target": "self", + "menu_item_order": "1" +} \ No newline at end of file diff --git a/site/fieldsets/about.json b/site/fieldsets/about.json new file mode 100644 index 00000000..fa9ef48f --- /dev/null +++ b/site/fieldsets/about.json @@ -0,0 +1,67 @@ +{ + "title": "About", + "default_field": "title", + "sections": { + "main": { + "title": "Main", + "fields": { + "title": { + "title": "admin_title", + "type": "text", + "size": "col-12" + }, + "content": { + "title": "admin_content", + "type": "editor", + "size": "col-12" + }, + "image": { + "title": "admin_media", + "type": "media_select", + "size": "col-3" + } + } + }, + "seo": { + "title": "Seo", + "fields": { + "description": { + "title": "admin_description", + "type": "textarea", + "size": "col-12" + } + } + }, + "menu": { + "title": "Menu", + "fields": { + "menu_item_title": { + "title": "admin_menu_item_title", + "type": "text", + "size": "col-4" + }, + "menu_item_url": { + "title": "admin_menu_item_url", + "type": "text", + "size": "col-4" + }, + "menu_item_target": { + "title": "admin_menu_item_target", + "type": "select", + "options": { + "self": "_self", + "blank": "_blank", + "parent": "_parent", + "top": "_top" + }, + "size": "col-4" + }, + "menu_item_order": { + "title": "admin_menu_item_order", + "type": "text", + "size": "col-4" + } + } + } + } +} diff --git a/site/fieldsets/blog-post.json b/site/fieldsets/blog-post.json new file mode 100644 index 00000000..4ae297ff --- /dev/null +++ b/site/fieldsets/blog-post.json @@ -0,0 +1,36 @@ +{ + "title": "Blog Post", + "default_field": "title", + "sections": { + "main": { + "title": "Main", + "fields": { + "title": { + "title": "admin_title", + "type": "text", + "size": "col-12" + }, + "summary": { + "title": "admin_summary", + "type": "editor", + "size": "col-12" + }, + "content": { + "title": "admin_content", + "type": "editor", + "size": "col-12" + } + } + }, + "seo": { + "title": "Seo", + "fields": { + "description": { + "title": "admin_description", + "type": "textarea", + "size": "col-12" + } + } + } + } +} diff --git a/site/fieldsets/blog.json b/site/fieldsets/blog.json new file mode 100644 index 00000000..1e138d84 --- /dev/null +++ b/site/fieldsets/blog.json @@ -0,0 +1,57 @@ +{ + "title": "Blog", + "default_field": "title", + "sections": { + "main": { + "title": "Main", + "fields": { + "title": { + "title": "admin_title", + "type": "text", + "size": "col-12" + } + } + }, + "seo": { + "title": "Seo", + "fields": { + "description": { + "title": "admin_description", + "type": "textarea", + "size": "col-12" + } + } + }, + "menu": { + "title": "Menu", + "fields": { + "menu_item_title": { + "title": "admin_menu_item_title", + "type": "text", + "size": "col-4" + }, + "menu_item_url": { + "title": "admin_menu_item_url", + "type": "text", + "size": "col-4" + }, + "menu_item_target": { + "title": "admin_menu_item_target", + "type": "select", + "options": { + "self": "_self", + "blank": "_blank", + "parent": "_parent", + "top": "_top" + }, + "size": "col-4" + }, + "menu_item_order": { + "title": "admin_menu_item_order", + "type": "text", + "size": "col-4" + } + } + } + } +} \ No newline at end of file diff --git a/site/fieldsets/default.json b/site/fieldsets/default.json new file mode 100644 index 00000000..40398d67 --- /dev/null +++ b/site/fieldsets/default.json @@ -0,0 +1,77 @@ +{ + "title": "Default", + "default_field": "title", + "sections": { + "main": { + "title": "Main", + "fields": { + "title": { + "title": "admin_title", + "type": "text", + "size": "col-12" + }, + "content": { + "title": "admin_content", + "type": "editor", + "size": "col-12" + }, + "template": { + "title": "admin_template", + "type": "template_select", + "size": "col-4" + }, + "visibility": { + "title": "admin_visibility", + "type": "visibility_select", + "size": "col-4" + }, + "date": { + "title": "admin_date", + "type": "text", + "size": "col-4" + } + } + }, + "seo": { + "title": "Seo", + "fields": { + "description": { + "title": "admin_description", + "type": "textarea", + "size": "col-12" + } + } + }, + "menu": { + "title": "Menu", + "fields": { + "menu_item_title": { + "title": "admin_menu_item_title", + "type": "text", + "size": "col-4" + }, + "menu_item_url": { + "title": "admin_menu_item_url", + "type": "text", + "size": "col-4" + }, + "menu_item_target": { + "title": "admin_menu_item_target", + "type": "select", + "options": { + "self": "_self", + "blank": "_blank", + "parent": "_parent", + "top": "_top" + }, + "size": "col-4" + }, + "menu_item_order": { + "title": "admin_menu_item_order", + "type": "text", + "size": "col-4" + } + } + } + } +} diff --git a/site/menus/.gitkeep b/site/menus/.gitkeep deleted file mode 100755 index e69de29b..00000000 diff --git a/site/menus/default.yaml b/site/menus/default.yaml deleted file mode 100644 index 36f6822c..00000000 --- a/site/menus/default.yaml +++ /dev/null @@ -1,14 +0,0 @@ -title: Default -items: - home: - title: 'Home' - url: 'home' - order: 1 - blog: - title: 'Blog' - url: 'blog' - order: 2 - about: - title: 'About' - url: 'about' - order: 3 diff --git a/site/plugins/admin/admin.php b/site/plugins/admin/admin.php deleted file mode 100755 index 5f55a9fa..00000000 --- a/site/plugins/admin/admin.php +++ /dev/null @@ -1,188 +0,0 @@ - - * @link http://flextype.org - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -use Flextype\Component\Arr\Arr; -use Flextype\Component\Number\Number; -use Flextype\Component\I18n\I18n; -use Flextype\Component\Http\Http; -use Flextype\Component\Event\Event; -use Flextype\Component\Filesystem\Filesystem; -use Flextype\Component\Session\Session; -use Flextype\Component\Registry\Registry; -use Flextype\Component\Token\Token; -use Flextype\Component\Text\Text; -use Flextype\Component\Notification\Notification; -use Flextype\Component\Form\Form; -use function Flextype\Component\I18n\__; -use Symfony\Component\Yaml\Yaml; -use Gajus\Dindent\Indenter; - -// -// If isAdminArea -// -if (Admin::isAdminArea()) { - - // Ensure vendor libraries exist - !is_file($autoload = __DIR__ . '/vendor/autoload.php') and exit("Please run: composer install"); - - // Register The Auto Loader - $loader = require_once $autoload; - - // - // Add listner for onCurrentPageBeforeLoaded event - // - Event::addListener('onCurrentEntryBeforeLoaded', function () { - - // Add navigation links - NavigationManager::addItem('content', 'entries', '' . __('admin_menu_content_entries', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/entries', ['class' => 'nav-link']); - NavigationManager::addItem('extends', 'menus', '' . __('admin_menu_content_menus', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/menus', ['class' => 'nav-link']); - NavigationManager::addItem('extends', 'fieldsets', '' . __('admin_menu_extends_fieldsets', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/fieldsets', ['class' => 'nav-link']); - NavigationManager::addItem('extends', 'templates', '' . __('admin_menu_extends_templates', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/templates', ['class' => 'nav-link']); - NavigationManager::addItem('extends', 'snippets', '' . __('admin_menu_extends_snippets', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/snippets', ['class' => 'nav-link']); - NavigationManager::addItem('extends', 'plugins', '' . __('admin_menu_extends_plugins', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/plugins', ['class' => 'nav-link']); - NavigationManager::addItem('settings', 'settings', '' . __('admin_menu_system_settings', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/settings', ['class' => 'nav-link']); - NavigationManager::addItem('settings', 'infomation', '' . __('admin_menu_system_information', Registry::get('settings.locale')), Http::getBaseUrl() . '/admin/information', ['class' => 'nav-link']); - - if (Registry::get('settings.locale') == 'ru') { - NavigationManager::addItem('help', 'documentation', '' . __('admin_menu_help_documentation', Registry::get('settings.locale')), 'http://flextype.ru/documentation/basics/getting-help', ['class' => 'nav-link', 'target' => '_blank']); - } else { - NavigationManager::addItem('help', 'documentation', '' . __('admin_menu_help_documentation', Registry::get('settings.locale')), 'http://flextype.org/documentation/basics/getting-help', ['class' => 'nav-link', 'target' => '_blank']); - } - - // Initializes the Notification service. - Notification::init(); - - // Get Admin Instance - Admin::getInstance(); - }); -} - -class Admin -{ - /** - * An instance of the Admin class - * - * @var object - * @access private - */ - private static $instance = null; - - /** - * Private clone method to enforce singleton behavior. - * - * @access private - */ - private function __clone() - { - } - - /** - * Private wakeup method to enforce singleton behavior. - * - * @access private - */ - private function __wakeup() - { - } - - /** - * Private construct method to enforce singleton behavior. - * - * @access private - */ - protected function __construct() - { - Admin::init(); - } - - /** - * Init Flextype Admin - * - * @access private - */ - private static function init() : void - { - // Set Default Admin locale - I18n::$locale = Registry::get('settings.locale'); - - if (UsersManager::isLoggedIn()) { - Admin::getAdminArea(); - } else { - if (UsersManager::isUsersExists()) { - UsersManager::getAuthPage(); - } else { - UsersManager::getRegistrationPage(); - } - } - - // Event: onBeforeRequestShutdown - Event::dispatch('onBeforeRequestShutdown'); - - // Shutdown request - Http::requestShutdown(); - } - - - /** - * Flextype Admin Area - * - * @access private - */ - private static function getAdminArea() : void - { - - // Event: onAdminArea - Event::dispatch('onAdminArea'); - - // Route the Uri - Http::getUriSegment(1) == '' and DashboardManager::getDashboardManager(); - Http::getUriSegment(1) == 'entries' and EntriesManager::getEntriesManager(); - Http::getUriSegment(1) == 'menus' and MenusManager::getMenusManager(); - Http::getUriSegment(1) == 'fieldsets' and FieldsetsManager::getFieldsetsManager(); - Http::getUriSegment(1) == 'templates' and TemplatesManager::getTemplatesManager(); - Http::getUriSegment(1) == 'snippets' and SnippetsManager::getSnippetsManager(); - Http::getUriSegment(1) == 'plugins' and PluginsManager::getPluginsManager(); - Http::getUriSegment(1) == 'information' and InformationManager::getInformationManager(); - Http::getUriSegment(1) == 'settings' and SettingsManager::getSettingsManager(); - Http::getUriSegment(1) == 'profile' and UsersManager::getProfileManager(); - Http::getUriSegment(1) == 'logout' and UsersManager::logout(); - } - - - /** - * Check is Admin Area - * - * @access public - */ - public static function isAdminArea() - { - return (Http::getUriSegment(0) == 'admin') ? true : false; - } - - /** - * Get the Admin instance. - * - * @access public - * @return object - */ - public static function getInstance() - { - if (is_null(Admin::$instance)) { - Admin::$instance = new self; - } - - return Admin::$instance; - } -} diff --git a/site/plugins/admin/admin.yaml b/site/plugins/admin/admin.yaml deleted file mode 100755 index a5e04d90..00000000 --- a/site/plugins/admin/admin.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: Admin -version: 0.0.0 -description: "Admin plugin for Flextype" -author: - name: Sergey Romanenko - email: awilum@yandex.ru - url: http://flextype.org -homepage: https://github.com/flextype-plugins/admin -bugs: https://github.com/flextype-plugins/admin/issues -license: MIT diff --git a/site/plugins/admin/app/Controllers/DashboardController.php b/site/plugins/admin/app/Controllers/DashboardController.php new file mode 100644 index 00000000..2913447a --- /dev/null +++ b/site/plugins/admin/app/Controllers/DashboardController.php @@ -0,0 +1,25 @@ +withRedirect($this->router->pathFor('admin.entries.index')); + } +} diff --git a/site/plugins/admin/app/Controllers/EntriesController.php b/site/plugins/admin/app/Controllers/EntriesController.php new file mode 100644 index 00000000..47cc7c6d --- /dev/null +++ b/site/plugins/admin/app/Controllers/EntriesController.php @@ -0,0 +1,1088 @@ +getQueryParams(); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/index.html', + [ + 'entries_list' => $this->entries->fetchAll($this->getEntryID($query), 'date', 'DESC'), + 'id_current' => $this->getEntryID($query), + 'menu_item' => 'entries', + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'links' => [ + 'entries' => [ + 'link' => $this->router->pathFor('admin.entries.index'), + 'title' => __('admin_entries'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ], + 'buttons' => [ + 'create' => [ + 'link' => $this->router->pathFor('admin.entries.add') . '?id=' . $this->getEntryID($query), + 'title' => __('admin_create_new_entry'), + 'attributes' => ['class' => 'float-right btn'] + ] + ] + ] + ); + } + + /** + * Create new entry page + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function add(Request $request, Response $response) : Response + { + // Get Query Params + $query = $request->getQueryParams(); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + // Init Fieldsets + $fieldsets = []; + + // Get fieldsets files + $fieldsets_list = Filesystem::listContents(PATH['site'] . '/fieldsets/'); + + // If there is any fieldset file then go... + if (count($fieldsets_list) > 0) { + foreach ($fieldsets_list as $fieldset) { + if ($fieldset['type'] == 'file' && $fieldset['extension'] == 'json') { + $fieldset_content = JsonParser::decode(Filesystem::read($fieldset['path'])); + if (isset($fieldset_content['sections']) && isset($fieldset_content['sections']['main']) && isset($fieldset_content['sections']['main']['fields'])) { + $fieldsets[$fieldset['basename']] = $fieldset_content['title']; + } + } + } + } + + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/add.html', + [ + 'entries_list' => $this->entries->fetchAll($this->getEntryID($query), 'date', 'DESC'), + 'menu_item' => 'entries', + 'fieldsets' => $fieldsets, + 'current_id' => $this->getEntryID($query), + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'links' => [ + 'entries' => [ + 'link' => $this->router->pathFor('admin.entries.index'), + 'title' => __('admin_entries'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'entries_add' => [ + 'link' => $this->router->pathFor('admin.entries.add') . '?id=' . $this->getEntryID($query), + 'title' => __('admin_create_new_entry'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ] + ] + ); + } + + /** + * Create new entry - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function addProcess(Request $request, Response $response) : Response + { + // Get data from POST + $data = $request->getParsedBody(); + + // Set parent Entry ID + if ($data['current_id']) { + $parent_entry_id = $data['current_id']; + } else { + $parent_entry_id = ''; + } + + // Set new Entry ID + $id = $parent_entry_id . '/' . $this->slugify->slugify($data['id']); + + // Check if entry exists then try to create + if (!$this->entries->has($id)) { + + if ($this->fieldsets->has($data['fieldset'])) { + + // Get fieldset + $fieldset = $this->fieldsets->fetch($data['fieldset']); + + // We need to check if template for current fieldset is exists + // if template is not exist then default template will be used! + $template_path = PATH['site'] . '/templates/' . $data['fieldset'] . '.html'; + $template = (Filesystem::has($template_path)) ? $data['fieldset'] : 'default'; + + // Init entry data + $data_from_post = []; + $_data_from_post = []; + $data_result = []; + + // Define data values based on POST data + $data_from_post['title'] = $data['title']; + $data_from_post['template'] = $template; + $data_from_post['fieldset'] = $data['fieldset']; + $data_from_post['date'] = date($this->registry->get('settings.date_format'), time()); + + // Predefine data values based on selected fieldset + foreach ($fieldset['sections'] as $key => $section) { + foreach ($section['fields'] as $element => $property) { + + // Get values from $data_from_post + if (isset($data_from_post[$element])) { + $value = $data_from_post[$element]; + + // Get values from fieldsets predefined field values + } elseif (isset($property['value'])) { + $value = $property['value']; + + // or set empty value + } else { + $value = ''; + } + + $_data_from_post[$element] = $value; + + } + } + + // Merge data + if(count($_data_from_post) > 0) { + $data_result = array_replace_recursive($_data_from_post, $data_from_post); + } else { + $data_result = $data_from_post; + } + + if ($this->entries->create($id, $data_result)) { + $this->flash->addMessage('success', __('admin_message_entry_created')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_was_not_created')); + } + + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_not_found')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . $parent_entry_id); + } + } + + /** + * Change entry type + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function type(Request $request, Response $response) : Response + { + // Get Query Params + $query = $request->getQueryParams(); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + $entry = $this->entries->fetch($this->getEntryID($query)); + + $fieldsets = []; + + // Get fieldsets files + $_fieldsets = Filesystem::listContents(PATH['site'] . '/fieldsets/'); + + // If there is any template file then go... + if (count($_fieldsets) > 0) { + foreach ($_fieldsets as $fieldset) { + if ($fieldset['type'] == 'file' && $fieldset['extension'] == 'json') { + $fieldset_content = JsonParser::decode(Filesystem::read($fieldset['path'])); + if (isset($fieldset_content['sections']) && isset($fieldset_content['sections']['main']) && isset($fieldset_content['sections']['main']['fields'])) { + $fieldsets[$fieldset['basename']] = $fieldset_content['title']; + } + } + } + } + + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/type.html', + [ + 'fieldset' => $entry['fieldset'], + 'fieldsets' => $fieldsets, + 'id' => $this->getEntryID($query), + 'menu_item' => 'entries', + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'links' => [ + 'entries' => [ + 'link' => $this->router->pathFor('admin.entries.index'), + 'title' => __('admin_entries'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'entries_type' => [ + 'link' => $this->router->pathFor('admin.entries.type') . '?id=' . $this->getEntryID($query), + 'title' => __('admin_type'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ] + ] + ); + } + + /** + * Change entry type - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function typeProcess(Request $request, Response $response) : Response + { + $_data = $request->getParsedBody(); + + $id = $_data['id']; + + $entry = $this->entries->fetch($id); + + Arr::delete($entry, 'slug'); + Arr::delete($_data, 'csrf_name'); + Arr::delete($_data, 'csrf_value'); + Arr::delete($_data, 'save_entry'); + Arr::delete($_data, 'id'); + + $data = array_merge($entry, $_data); + + if ($this->entries->update( + $id, + $data + )) { + $this->flash->addMessage('success', __('admin_message_entry_changes_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_was_not_moved')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . implode('/', array_slice(explode("/", $id), 0, -1))); + } + + /** + * Move entry + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function move(Request $request, Response $response) : Response + { + // Get Query Params + $query = $request->getQueryParams(); + + $entry_name = $this->getEntryID($query); + $entry = $this->entries->fetch($this->getEntryID($query)); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + $entries_list = []; + $_entries_list = $this->entries->fetchAll('', 'slug'); + $entries_list['/'] = '/'; + foreach ($_entries_list as $_entry) { + if ($_entry['slug'] != '') { + $entries_list[$_entry['slug']] = $_entry['slug']; + } else { + $entries_list[$this->registry->get('settings.entries.main')] = $this->registry->get('settings.entries.main'); + } + } + + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/move.html', + [ + 'entry_path_current' => $entry_name, + 'entries_list' => $entries_list, + 'name_current' => Arr::last(explode("/", $entry_name)), + 'entry_parent' => implode('/', array_slice(explode("/", $entry_name), 0, -1)), + 'menu_item' => 'entries', + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'links' => [ + 'entries' => [ + 'link' => $this->router->pathFor('admin.entries.index'), + 'title' => __('admin_entries'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'entries_move' => [ + 'link' => $this->router->pathFor('admin.entries.move'), + 'title' => __('admin_move'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ] + ] + ); + } + + /** + * Move entry - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function moveProcess(Request $request, Response $response) + { + $data = $request->getParsedBody(); + + if (!$this->entries->has($data['parent_entry'] . '/' . $data['name_current'])) { + if ($this->entries->rename( + $data['entry_path_current'], + $data['parent_entry'] . '/' . $this->slugify->slugify($data['name_current']) + )) { + $this->flash->addMessage('success', __('admin_message_entry_moved')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_was_not_moved')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . $data['parent_entry']); + } + } + + /** + * Rename entry + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function rename(Request $request, Response $response) : Response + { + // Get Query Params + $query = $request->getQueryParams(); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/rename.html', + [ + 'name_current' => Arr::last(explode("/", $this->getEntryID($query))), + 'entry_path_current' => $this->getEntryID($query), + 'entry_parent' => implode('/', array_slice(explode("/", $this->getEntryID($query)), 0, -1)), + 'menu_item' => 'entries', + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'links' => [ + 'entries' => [ + 'link' => $this->router->pathFor('admin.entries.index'), + 'title' => __('admin_entries'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'entries_type' => [ + 'link' => $this->router->pathFor('admin.entries.rename') . '?id=' . $this->getEntryID($query), + 'title' => __('admin_rename'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ] + ] + ); + } + + /** + * Rename entry - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function renameProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + if ($this->entries->rename( + $data['entry_path_current'], + $data['entry_parent'] . '/' . $this->slugify->slugify($data['name']) + )) { + $this->flash->addMessage('success', __('admin_message_entry_renamed')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_was_not_created')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . $data['parent_entry']); + } + + /** + * Delete entry - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function deleteProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + $id = $data['id']; + $id_current = $data['id-current']; + + if ($this->entries->delete($id)) { + $this->flash->addMessage('success', __('admin_message_entry_deleted')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_was_not_deleted')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . $id_current); + } + + /** + * Duplicate entry - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function duplicateProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + $id = $data['id']; + + $this->entries->copy($id, $id . '-duplicate-' . date("Ymd_His"), true); + + $this->flash->addMessage('success', __('admin_message_entry_duplicated')); + + return $response->withRedirect($this->router->pathFor('admin.entries.index') . '?id=' . implode('/', array_slice(explode("/", $id), 0, -1))); + } + + /** + * Fetch Fieldset form + * + * @access public + * @param array $fieldset Fieldset + * @param string $values Fieldset values + * @return string Returns form based on fieldsets + */ + public function fetchForm(array $fieldset, array $values = [], Request $request) : string + { + // CSRF token name and value + $csrfNameKey = $this->csrf->getTokenNameKey(); + $csrfValueKey = $this->csrf->getTokenValueKey(); + $csrfName = $this->csrf->getTokenName(); + $csrfValue = $this->csrf->getTokenValue(); + + $form = ''; + $form .= Form::open(null, ['id' => 'form']); + $form .= '' . + $form .= ''; + $form .= Form::hidden('action', 'save-form'); + if (count($fieldset['sections']) > 0) { + $form .= ''; + $form .= '
'; + foreach ($fieldset['sections'] as $key => $section) { + $form .= '
'; + $form .= '
'; + foreach ($section['fields'] as $element => $property) { + // Create attributes + $property['attributes'] = Arr::keyExists($property, 'attributes') ? $property['attributes'] : []; + // Create attribute class + $property['attributes']['class'] = Arr::keyExists($property, 'attributes.class') ? 'form-control ' . $property['attributes']['class'] : 'form-control'; + // Create attribute size + $property['size'] = Arr::keyExists($property, 'size') ? $property['size'] : 'col-12'; + // Create attribute value + $property['value'] = Arr::keyExists($property, 'value') ? $property['value'] : ''; + $pos = strpos($element, '.'); + if ($pos === false) { + $form_element_name = $element; + } else { + $form_element_name = str_replace(".", "][", "$element") . ']'; + } + $pos = strpos($form_element_name, ']'); + if ($pos !== false) { + $form_element_name = substr_replace($form_element_name, '', $pos, strlen(']')); + } + // Form value + $form_value = Arr::keyExists($values, $element) ? Arr::get($values, $element) : $property['value']; + // Form label + $form_label = Form::label($element, __($property['title'])); + // Form elements + switch ($property['type']) { + // Simple text-input, for multi-line fields. + case 'textarea': + $form_element = Form::textarea($element, $form_value, $property['attributes']); + break; + // The hidden field is like the text field, except it's hidden from the content editor. + case 'hidden': + $form_element = Form::hidden($element, $form_value); + break; + // A WYSIWYG HTML field. + case 'editor': + $property['attributes']['class'] .= ' js-html-editor'; + $form_element = Form::textarea($element, $form_value, $property['attributes']); + break; + // Selectbox field + case 'select': + $form_element = Form::select($form_element_name, $property['options'], $form_value, $property['attributes']); + break; + // Template select field for selecting entry template + case 'template_select': + $form_element = Form::select($form_element_name, $this->themes->getTemplates(), $form_value, $property['attributes']); + break; + // Visibility select field for selecting entry visibility state + case 'visibility_select': + $form_element = Form::select($form_element_name, ['draft' => __('admin_entries_draft'), 'visible' => __('admin_entries_visible'), 'hidden' => __('admin_entries_hidden')], (!empty($form_value) ? $form_value : 'visible'), $property['attributes']); + break; + // Media select field + case 'media_select': + $form_element = Form::select($form_element_name, $this->getMediaList($request->getQueryParams()['id'], false), $form_value, $property['attributes']); + break; + // Simple text-input, for single-line fields. + default: + $form_element = Form::input($form_element_name, $form_value, $property['attributes']); + break; + } + // Render form elments with labels + if ($property['type'] == 'hidden') { + $form .= $form_element; + } else { + $form .= '
'; + $form .= $form_label . $form_element; + $form .= '
'; + } + } + $form .= '
'; + $form .= '
'; + } + $form .= '
'; + } + $form .= Form::close(); + return $form; + } + + /** + * Edit entry + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function edit(Request $request, Response $response) : Response + { + // Get Query Params + $query = $request->getQueryParams(); + + // Set Entries ID in parts + if (isset($query['id'])) { + $parts = explode("/", $query['id']); + } else { + $parts = [0 => '']; + } + + // Get Entry type + $type = $request->getQueryParams()['type']; + + // Get Entry + $entry = $this->entries->fetch($this->getEntryID($query)); + Arr::delete($entry, 'slug'); + + // Fieldsets for current entry template + $fieldsets_path = PATH['site'] . '/fieldsets/' . (isset($entry['fieldset']) ? $entry['fieldset'] : 'default') . '.json'; + $fieldsets = JsonParser::decode(Filesystem::read($fieldsets_path)); + is_null($fieldsets) and $fieldsets = []; + + if ($type == 'source') { + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/source.html', + [ + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'id' => $this->getEntryID($query), + 'data' => JsonParser::encode($entry), + 'type' => $type, + 'menu_item' => 'entries', + 'links' => [ + 'edit_entry' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query). '&type=editor', + 'title' => __('admin_content'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'edit_entry_media' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=media', + 'title' => __('admin_media'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'edit_entry_source' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=source', + 'title' => __('admin_source'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'save_entry' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-editor-form-submit float-right btn'] + ], + ] + ] + ); + } elseif ($type == 'media') { + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/media.html', + [ + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'id' => $this->getEntryID($query), + 'files' => $this->getMediaList($this->getEntryID($query), true), + 'menu_item' => 'entries', + 'links' => [ + 'edit_entry' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=editor', + 'title' => __('admin_content'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'edit_entry_media' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=media', + 'title' => __('admin_media'), + 'attributes' => ['class' => 'navbar-item active'] + ], + 'edit_entry_source' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=source', + 'title' => __('admin_source'), + 'attributes' => ['class' => 'navbar-item'] + ], + ], + 'buttons' => [ + 'save_entry' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-editor-form-submit float-right btn'] + ], + ] + ] + ); + } else { + return $this->view->render( + $response, + 'plugins/admin/views/templates/content/entries/edit.html', + [ + 'parts' => $parts, + 'i' => count($parts), + 'last' => Arr::last($parts), + 'form' => $this->fetchForm($fieldsets, $entry, $request), + 'menu_item' => 'entries', + 'links' => [ + 'edit_entry' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=editor', + 'title' => __('admin_content'), + 'attributes' => ['class' => 'navbar-item active'] + ], + 'edit_entry_media' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=media', + 'title' => __('admin_media'), + 'attributes' => ['class' => 'navbar-item'] + ], + 'edit_entry_source' => [ + 'link' => $this->router->pathFor('admin.entries.edit') . '?id=' . $this->getEntryID($query) . '&type=source', + 'title' => __('admin_source'), + 'attributes' => ['class' => 'navbar-item'] + ], + ], + 'buttons' => [ + 'save_entry' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-editor-form-submit float-right btn'] + ], + ] + ] + ); + } + } + + public function getMediaList(string $entry, bool $path = false) : array + { + $base_url = \Slim\Http\Uri::createFromEnvironment(new \Slim\Http\Environment($_SERVER))->getBaseUrl(); + $files = []; + foreach (array_diff(scandir(PATH['entries'] . '/' . $entry), ['..', '.']) as $file) { + if (strpos($this->registry->get('settings.entries.media.accept_file_types'), $file_ext = substr(strrchr($file, '.'), 1)) !== false) { + if (strpos($file, strtolower($file_ext), 1)) { + if ($path) { + $files[$base_url . '/' . $entry . '/' . $file] = $base_url . '/' . $entry . '/' . $file; + } else { + $files[$file] = $file; + } + } + } + } + return $files; + } + + /** + * Edit entry process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function editProcess(Request $request, Response $response) : Response + { + $query = $request->getQueryParams(); + + // Get Entry ID and TYPE from GET param + $id = $query['id']; + $type = $query['type']; + + if ($type == 'source') { + + // Data from POST + $data = $request->getParsedBody(); + + if (v::json()->validate($data['data'])) { + + // Update entry + if (Filesystem::write(PATH['entries'] . '/' . $id . '/entry.json', $data['data'])) { + $this->flash->addMessage('success', __('admin_message_entry_changes_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_changes_not_saved')); + } + } else { + $this->flash->addMessage('error', __('admin_message_json_invalid')); + } + } else { + // Result data to save + $result_data = []; + + // Data from POST + $data = $request->getParsedBody(); + + // Delete system fields + Arr::delete($data, 'slug'); + Arr::delete($data, 'csrf_value'); + Arr::delete($data, 'csrf_name'); + Arr::delete($data, 'action'); + + // Fetch entry + $entry = $this->entries->fetch($id); + Arr::delete($entry, 'slug'); + + // Merge entry data with $to_save_data + $result_data = array_merge($entry, $data); + + // Update entry + if ($this->entries->update($id, $result_data)) { + $this->flash->addMessage('success', __('admin_message_entry_changes_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_changes_not_saved')); + } + + } + + return $response->withRedirect($this->router->pathFor('admin.entries.edit') . '?id=' . $id . '&type=' . $type); + } + + /** + * Delete media file - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function deleteMediaFileProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + $entry_id = $data['entry-id']; + $media_id = $data['media-id']; + + $files_directory = PATH['entries'] . '/' . $entry_id . '/' . $media_id; + + Filesystem::delete($files_directory); + + $this->flash->addMessage('success', __('admin_message_entry_file_deleted')); + + return $response->withRedirect($this->router->pathFor('admin.entries.edit') . '?id=' . $entry_id . '&type=media'); + } + + /** + * Upload media file - process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function uploadMediaFileProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + $id = $data['entry-id']; + + $files_directory = PATH['entries'] . '/' . $id . '/'; + + $file = $this->_uploadFile($_FILES['file'], $files_directory, $this->registry->get('settings.entries.media.accept_file_types'), 27000000); + + if ($file !== false) { + if (in_array(pathinfo($file)['extension'], ['jpg', 'jpeg', 'png', 'gif'])) { + // open an image file + $img = Image::make($file); + // now you are able to resize the instance + if ($this->registry->get('settings.entries.media.upload_images_width') > 0 && $this->registry->get('settings.entries.media.upload_images_height') > 0) { + $img->resize($this->registry->get('settings.entries.media.upload_images_width'), $this->registry->get('settings.entries.media.upload_images_height'), function($constraint) { + $constraint->aspectRatio(); + $constraint->upsize(); + }); + } elseif ($this->registry->get('settings.entries.media.upload_images_width') > 0) { + $img->resize($this->registry->get('settings.entries.media.upload_images_width'), null, function($constraint) { + $constraint->aspectRatio(); + $constraint->upsize(); + }); + } elseif ($this->registry->get('settings.entries.media.upload_images_height') > 0) { + $img->resize(null, $this->registry->get('settings.entries.media.upload_images_height'), function($constraint) { + $constraint->aspectRatio(); + $constraint->upsize(); + }); + } + // finally we save the image as a new file + $img->save($file, $this->registry->get('settings.entries.media.upload_images_quality')); + + // destroy + $img->destroy(); + } + + $this->flash->addMessage('success', __('admin_message_entry_file_uploaded')); + } else { + $this->flash->addMessage('error', __('admin_message_entry_file_not_uploaded')); + } + + return $response->withRedirect($this->router->pathFor('admin.entries.edit') . '?id=' . $id . '&type=media'); + } + + /** + * Upload files on the Server with several type of Validations! + * + * _uploadFile($_FILES['file'], $files_directory); + * + * @param array $file Uploaded file data + * @param string $upload_directory Upload directory + * @param string $allowed Allowed file extensions + * @param int $max_size Max file size in bytes + * @param string $filename New filename + * @param bool $remove_spaces Remove spaces from the filename + * @param int $max_width Maximum width of image + * @param int $max_height Maximum height of image + * @param bool $exact Match width and height exactly? + * @param int $chmod Chmod mask + * @return string on success, full path to new file + * @return false on failure + */ + public function _uploadFile( + array $file, + string $upload_directory, + string $allowed = 'jpeg, png, gif, jpg', + int $max_size = 3000000, + string $filename = null, + bool $remove_spaces = true, + int $max_width = null, + int $max_height = null, + bool $exact = false, + int $chmod = 0644 + ) { + // + // Tests if a successful upload has been made. + // + if (isset($file['error']) + and isset($file['tmp_name']) + and $file['error'] === UPLOAD_ERR_OK + and is_uploaded_file($file['tmp_name'])) { + // + // Tests if upload data is valid, even if no file was uploaded. + // + if (isset($file['error']) + and isset($file['name']) + and isset($file['type']) + and isset($file['tmp_name']) + and isset($file['size'])) { + // + // Test if an uploaded file is an allowed file type, by extension. + // + if (strpos($allowed, strtolower(pathinfo($file['name'], PATHINFO_EXTENSION))) !== false) { + // + // Validation rule to test if an uploaded file is allowed by file size. + // + if (($file['error'] != UPLOAD_ERR_INI_SIZE) + and ($file['error'] == UPLOAD_ERR_OK) + and ($file['size'] <= $max_size)) { + // + // Validation rule to test if an upload is an image and, optionally, is the correct size. + // + if (in_array(mime_content_type($file['tmp_name']), ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'])) { + function validateImage($file, $max_width, $max_height, $exact) + { + try { + // Get the width and height from the uploaded image + list($width, $height) = getimagesize($file['tmp_name']); + } catch (ErrorException $e) { + // Ignore read errors + } + if (empty($width) or empty($height)) { + // Cannot get image size, cannot validate + return false; + } + if (!$max_width) { + // No limit, use the image width + $max_width = $width; + } + if (!$max_height) { + // No limit, use the image height + $max_height = $height; + } + if ($exact) { + // Check if dimensions match exactly + return ($width === $max_width and $height === $max_height); + } else { + // Check if size is within maximum dimensions + return ($width <= $max_width and $height <= $max_height); + } + return false; + } + if (validateImage($file, $max_width, $max_height, $exact) === false) { + return false; + } + } + if (!isset($file['tmp_name']) or !is_uploaded_file($file['tmp_name'])) { + // Ignore corrupted uploads + return false; + } + if ($filename === null) { + // Use the default filename + $filename = $file['name']; + } + if ($remove_spaces === true) { + // Remove spaces from the filename + $filename = $this->slugify->slugify(pathinfo($filename)['filename']) . '.' . pathinfo($filename)['extension']; + } + if (!is_dir($upload_directory) or !is_writable(realpath($upload_directory))) { + throw new \RuntimeException("Directory {$upload_directory} must be writable"); + } + // Make the filename into a complete path + $filename = realpath($upload_directory) . DIRECTORY_SEPARATOR . $filename; + if (move_uploaded_file($file['tmp_name'], $filename)) { + // Set permissions on filename + chmod($filename, $chmod); + // Return new file path + return $filename; + } + } + } + } + } + + return false; + } +} diff --git a/site/plugins/admin/app/Controllers/FieldsetsController.php b/site/plugins/admin/app/Controllers/FieldsetsController.php new file mode 100644 index 00000000..fc25a8cd --- /dev/null +++ b/site/plugins/admin/app/Controllers/FieldsetsController.php @@ -0,0 +1,192 @@ +view->render( + $response, + 'plugins/admin/views/templates/extends/fieldsets/index.html', + [ + 'menu_item' => 'fieldsets', + 'fieldsets_list' => $this->fieldsets->fetchAll(), + 'links' => [ + 'fieldsets' => [ + 'link' => $this->router->pathFor('admin.fieldsets.index'), + 'title' => __('admin_fieldsets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'fieldsets_add' => [ + 'link' => $this->router->pathFor('admin.fieldsets.add'), + 'title' => __('admin_create_new_fieldset'), + 'attributes' => ['class' => 'float-right btn'] + ] + ] + ] + ); + } + + public function add($request, $response) + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/fieldsets/add.html', + [ + 'menu_item' => 'fieldsets', + 'fieldsets_list' => $this->fieldsets->fetchAll(), + 'links' => [ + 'fieldsets' => [ + 'link' => $this->router->pathFor('admin.fieldsets.index'), + 'title' => __('admin_fieldsets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'fieldsets_add' => [ + 'link' => $this->router->pathFor('admin.fieldsets.add'), + 'title' => __('admin_create_new_fieldset'), + 'attributes' => ['class' => 'float-right btn'] + ] + ] + ] + ); + } + + public function addProcess($request, $response) + { + $data = $request->getParsedBody(); + + Arr::delete($data, 'csrf_name'); + Arr::delete($data, 'csrf_value'); + + $id = $this->slugify->slugify($data['id']); + $data = ['title' => $data['title']]; + + if ($this->fieldsets->create($id, $data)) { + $this->flash->addMessage('success', __('admin_message_fieldset_created')); + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_was_not_created')); + } + + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + } + + public function edit($request, $response) + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/fieldsets/edit.html', + [ + 'menu_item' => 'fieldsets', + 'id' => $request->getQueryParams()['id'], + 'data' => JsonParser::encode($this->fieldsets->fetch($request->getQueryParams()['id'])), + 'links' => [ + 'fieldsets' => [ + 'link' => $this->router->pathFor('admin.fieldsets.edit') . '?id=' . $request->getQueryParams()['id'], + 'title' => __('admin_fieldsets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'save_entry' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-form-submit float-right btn'] + ], + ] + ] + ); + } + + public function editProcess($request, $response) + { + $data = $request->getParsedBody()['data']; + + if (v::json()->validate($data)) { + + if ($this->fieldsets->update($request->getParsedBody()['id'], JsonParser::decode($data))) { + $this->flash->addMessage('success', __('admin_message_fieldset_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_was_not_saved')); + } + + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + + } else { + $this->flash->addMessage('error', __('admin_message_json_invalid')); + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + } + } + + public function rename($request, $response) + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/fieldsets/rename.html', + [ + 'menu_item' => 'fieldsets', + 'id' => $request->getQueryParams()['id'], + 'links' => [ + 'fieldsets' => [ + 'link' => $this->router->pathFor('admin.fieldsets.index'), + 'title' => __('admin_fieldsets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + 'fieldsets_rename' => [ + 'link' => $this->router->pathFor('admin.fieldsets.rename') . '?id=' . $request->getQueryParams()['id'], + 'title' => __('admin_rename'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + ] + ); + } + + public function renameProcess($request, $response) + { + if ($this->fieldsets->rename($request->getParsedBody()['fieldset-id-current'], $request->getParsedBody()['id'])) { + $this->flash->addMessage('success', __('admin_message_fieldset_renamed')); + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_was_not_renamed')); + } + + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + } + + public function deleteProcess($request, $response) + { + if ($this->fieldsets->delete($request->getParsedBody()['fieldset-id'])) { + $this->flash->addMessage('success', __('admin_message_fieldset_deleted')); + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_was_not_deleted')); + } + + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + } + + public function duplicateProcess($request, $response) + { + if ($this->fieldsets->copy($request->getParsedBody()['fieldset-id'], $request->getParsedBody()['fieldset-id'] . '-duplicate-' . date("Ymd_His"))) { + $this->flash->addMessage('success', __('admin_message_fieldset_duplicated')); + } else { + $this->flash->addMessage('error', __('admin_message_fieldset_was_not_duplicated')); + } + + return $response->withRedirect($this->router->pathFor('admin.fieldsets.index')); + } +} diff --git a/site/plugins/admin/app/Controllers/InformationController.php b/site/plugins/admin/app/Controllers/InformationController.php new file mode 100644 index 00000000..17f03274 --- /dev/null +++ b/site/plugins/admin/app/Controllers/InformationController.php @@ -0,0 +1,54 @@ +view->render( + $response, + 'plugins/admin/views/templates/system/information/index.html', + [ + 'menu_item' => 'infomation', + 'php_uname' => php_uname(), + 'webserver' => isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : @getenv('SERVER_SOFTWARE'), + 'php_sapi_name' => php_sapi_name(), + 'apache_mod_rewrite_installed' => $apache_mod_rewrite_installed, + 'links' => [ + 'information' => [ + 'link' => $this->router->pathFor('admin.information.index'), + 'title' => __('admin_information'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ] + ] + ); + } +} diff --git a/site/plugins/admin/app/Controllers/PluginsController.php b/site/plugins/admin/app/Controllers/PluginsController.php new file mode 100644 index 00000000..c36c78fd --- /dev/null +++ b/site/plugins/admin/app/Controllers/PluginsController.php @@ -0,0 +1,73 @@ +view->render( + $response, + 'plugins/admin/views/templates/extends/plugins/index.html', + [ + 'plugins_list' => $this->registry->get('plugins'), + 'menu_item' => 'plugins', + 'links' => [ + 'plugins' => [ + 'link' => $this->router->pathFor('admin.plugins.index'), + 'title' => __('admin_plugins'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'plugins_get_more' => [ + 'link' => 'https://github.com/flextype/plugins', + 'title' => __('admin_get_more_plugins'), + 'attributes' => ['class' => 'float-right btn', 'target' => '_blank'] + ], + ] + ] + ); + } + + /** + * Сhange plugin status process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function pluginStatusProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + $plugin_settings = JsonParser::decode(Filesystem::read(PATH['plugins'] . '/' . $data['plugin-key'] . '/' . 'settings.json')); + Arr::set($plugin_settings, 'enabled', ($data['plugin-status'] == 'true' ? true : false)); + Filesystem::write(PATH['plugins'] . '/' . $data['plugin-key'] . '/' . 'settings.json', JsonParser::encode($plugin_settings)); + $this->cache->clear(); + + return $response->withRedirect($this->router->pathFor('admin.plugins.index')); + } +} diff --git a/site/plugins/admin/app/Controllers/SettingsController.php b/site/plugins/admin/app/Controllers/SettingsController.php new file mode 100644 index 00000000..d1d4cc6c --- /dev/null +++ b/site/plugins/admin/app/Controllers/SettingsController.php @@ -0,0 +1,144 @@ +entries->fetchAll('', 'date', 'DESC') as $entry) { + $entries[$entry['slug']] = $entry['title']; + } + + $themes = []; + foreach (Filesystem::listContents(PATH['themes']) as $theme) { + if ($theme['type'] == 'dir' && Filesystem::has($theme['path'] . '/' . 'theme.json')) { + $themes[$theme['dirname']] = $theme['dirname']; + } + } + + $available_locales = Filesystem::listContents(PATH['plugins'] . '/admin/lang/'); + $system_locales = $this->plugins->getLocales(); + $locales = []; + foreach ($available_locales as $locale) { + if ($locale['type'] == 'file' && $locale['extension'] == 'json') { + $locales[$locale['basename']] = $system_locales[$locale['basename']]['nativeName']; + } + } + + $cache_driver = ['auto' => 'Auto Detect', + 'file' => 'File', + 'apcu' => 'APCu', + 'wincache' => 'WinCache', + 'memcached' => 'Memcached', + 'redis' => 'Redis', + 'sqlite3' => 'SQLite3', + 'zend' => 'Zend', + 'array' => 'Array']; + + return $this->view->render( + $response, + 'plugins/admin/views/templates/system/settings/index.html', + [ + 'timezones' => Date::timezones(), + 'settings' => $this->registry->get('settings'), + 'cache_driver' => $cache_driver, + 'locales' => $locales, + 'entries' => $entries, + 'themes' => $themes, + 'menu_item' => 'settings', + 'links' => [ + 'settings' => [ + 'link' => $this->router->pathFor('admin.settings.index'), + 'title' => __('admin_settings'), + 'attributes' => ['class' => 'navbar-item active'] + ] + ], + 'buttons' => [ + 'save' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-form-submit float-right btn'] + ], + 'settings_clear_cache' => [ + 'type' => 'action', + 'id' => 'clear-cache', + 'link' => $this->router->pathFor('admin.settings.clear-cache'), + 'title' => __('admin_clear_cache'), + 'attributes' => ['class' => 'float-right btn'] + ] + ] + ] + ); + } + + /** + * Update settings process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function updateSettingsProcess(Request $request, Response $response) : Response + { + $data = $request->getParsedBody(); + + Arr::delete($data, 'csrf_name'); + Arr::delete($data, 'csrf_value'); + Arr::delete($data, 'action'); + + Arr::set($data, 'errors.display', ($data['errors']['display'] == '1' ? true : false)); + Arr::set($data, 'cache.enabled', ($data['cache']['enabled'] == '1' ? true : false)); + Arr::set($data, 'cache.lifetime', (int) $data['cache']['lifetime']); + Arr::set($data, 'entries.media.upload_images_quality', (int) $data['entries']['media']['upload_images_quality']); + Arr::set($data, 'entries.media.upload_images_width', (int) $data['entries']['media']['upload_images_width']); + Arr::set($data, 'entries.media.upload_images_height', (int) $data['entries']['media']['upload_images_height']); + + if (Filesystem::write(PATH['config']['site'] . '/settings.json', JsonParser::encode(array_merge($this->registry->get('settings'), $data)))) { + $this->flash->addMessage('success', __('admin_message_settings_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_settings_was_not_saved')); + } + + return $response->withRedirect($this->router->pathFor('admin.settings.index')); + } + + /** + * Clear cache process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function clearCacheProcess(/** @scrutinizer ignore-unused */ Request $request, Response $response) : Response + { + $this->cache->clear(); + Filesystem::has(PATH['cache'] . '/twig') and Filesystem::deleteDir(PATH['cache'] . '/twig'); + + $this->flash->addMessage('success', __('admin_message_cache_files_deleted')); + return $response->withRedirect($this->router->pathFor('admin.settings.index')); + } +} diff --git a/site/plugins/admin/app/Controllers/SnippetsController.php b/site/plugins/admin/app/Controllers/SnippetsController.php new file mode 100644 index 00000000..8d175ce3 --- /dev/null +++ b/site/plugins/admin/app/Controllers/SnippetsController.php @@ -0,0 +1,254 @@ +view->render( + $response, + 'plugins/admin/views/templates/extends/snippets/index.html', + [ + 'menu_item' => 'snippets', + 'snippets_list' => $this->snippets->fetchAll(), + 'links' => [ + 'snippets' => [ + 'link' => $this->router->pathFor('admin.snippets.index'), + 'title' => __('admin_snippets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'snippets_create' => [ + 'link' => $this->router->pathFor('admin.snippets.add'), + 'title' => __('admin_create_new_snippet'), + 'attributes' => ['class' => 'float-right btn'] + ], + ] + ] + ); + } + + /** + * Add snippet + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function add(/** @scrutinizer ignore-unused */ Request $request, Response $response) : Response + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/snippets/add.html', + [ + 'menu_item' => 'snippets', + 'links' => [ + 'snippets' => [ + 'link' => $this->router->pathFor('admin.snippets.index'), + 'title' => __('admin_snippets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ] + ] + ); + } + + /** + * Add snippet process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function addProcess(Request $request, Response $response) : Response + { + $id = $this->slugify->slugify($request->getParsedBody()['id']); + + if ($this->snippets->create($id, "")) { + $this->flash->addMessage('success', __('admin_message_snippet_created')); + } else { + $this->flash->addMessage('error', __('admin_message_snippet_was_not_created')); + } + + return $response->withRedirect($this->router->pathFor('admin.snippets.index')); + } + + /** + * Edit snippet + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function edit(Request $request, Response $response) : Response + { + $id = $request->getQueryParams()['id']; + + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/snippets/edit.html', + [ + 'menu_item' => 'snippets', + 'id' => $id, + 'data' => $this->snippets->fetch($id), + 'links' => [ + 'snippets' => [ + 'link' => $this->router->pathFor('admin.snippets.index'), + 'title' => __('admin_snippets'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'save_snippet' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-form-submit float-right btn'] + ] + ] + ] + ); + } + + /** + * Edit snippet process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function editProcess(Request $request, Response $response) : Response + { + $id = $request->getParsedBody()['id']; + $data = $request->getParsedBody()['data']; + + if ($this->snippets->update($id, $data)) { + $this->flash->addMessage('success', __('admin_message_snippet_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_snippet_was_not_saved')); + } + + return $response->withRedirect($this->router->pathFor('admin.snippets.index')); + } + + /** + * Rename snippet + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function rename(Request $request, Response $response) : Response + { + + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/snippets/rename.html', + [ + 'menu_item' => 'snippets', + 'id_current' => $request->getQueryParams()['id'], + 'links' => [ + 'templates' => [ + 'link' => $this->router->pathFor('admin.snippets.index'), + 'title' => __('admin_templates'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ] + ] + ); + } + + /** + * Rename snippet process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function renameProcess(Request $request, Response $response) : Response + { + $id = $this->slugify->slugify($request->getParsedBody()['id']); + $id_current = $request->getParsedBody()['id_current']; + + if ($this->snippets->rename( + $id_current, + $id + ) + ) { + $this->flash->addMessage('success', __('admin_message_snippet_renamed')); + } else { + $this->flash->addMessage('error', __('admin_message_snippet_was_not_renamed')); + } + + return $response->withRedirect($this->router->pathFor('admin.snippets.index')); + } + + /** + * Delete snippet process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function deleteProcess(Request $request, Response $response) : Response + { + $id = $request->getParsedBody()['snippet-id']; + + if ($this->snippets->delete($id)) { + $this->flash->addMessage('success', __('admin_message_snippet_deleted')); + } else { + $this->flash->addMessage('error', __('admin_message_snippet_was_not_deleted')); + } + + return $response->withRedirect($this->router->pathFor('admin.snippets.index')); + } + + /** + * Duplicate snippet process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function duplicateProcess(Request $request, Response $response) : Response + { + $id = $request->getParsedBody()['snippet-id']; + + if ($this->snippets->copy($id, $id . '-duplicate-' . date("Ymd_His"))) { + $this->flash->addMessage('success', __('admin_message_snippet_duplicated')); + } else { + $this->flash->addMessage('error', __('admin_message_snippet_was_not_duplicated')); + } + + return $response->withRedirect($this->router->pathFor('admin.snippets.index')); + } +} diff --git a/site/plugins/admin/app/Controllers/TemplatesController.php b/site/plugins/admin/app/Controllers/TemplatesController.php new file mode 100644 index 00000000..a2af2996 --- /dev/null +++ b/site/plugins/admin/app/Controllers/TemplatesController.php @@ -0,0 +1,287 @@ +view->render( + $response, + 'plugins/admin/views/templates/extends/templates/index.html', + [ + 'menu_item' => 'templates', + 'templates_list' => $this->themes->getTemplates(), + 'partials_list' => $this->themes->getPartials(), + 'links' => [ + 'templates' => [ + 'link' => $this->router->pathFor('admin.templates.index'), + 'title' => __('admin_templates'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'templates_create' => [ + 'link' => $this->router->pathFor('admin.templates.add'), + 'title' => __('admin_create_new_template'), + 'attributes' => ['class' => 'float-right btn'] + ], + ] + ] + ); + } + + /** + * Add template + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function add(/** @scrutinizer ignore-unused */ Request $request, Response $response) : Response + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/templates/add.html', + [ + 'menu_item' => 'templates', + 'links' => [ + 'templates' => [ + 'link' => $this->router->pathFor('admin.templates.index'), + 'title' => __('admin_templates'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ] + ] + ); + } + + /** + * Add template process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function addProcess(Request $request, Response $response) : Response + { + $type = $request->getParsedBody()['type']; + + $id = $this->slugify->slugify($request->getParsedBody()['id']) . '.html'; + + $file = PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $id; + + if (!Filesystem::has($file)) { + if (Filesystem::write( + $file, + "" + )) { + $this->flash->addMessage('success', __('admin_message_'.$type.'_created')); + } else { + $this->flash->addMessage('error', __('admin_message_'.$type.'_was_not_created')); + } + } else { + $this->flash->addMessage('error', __('admin_message_'.$type.'_was_not_created')); + } + + return $response->withRedirect($this->router->pathFor('admin.templates.index')); + } + + /** + * Edit template + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function edit(Request $request, Response $response) : Response + { + $type = $request->getQueryParams()['type']; + + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/templates/edit.html', + [ + 'menu_item' => 'templates', + 'id' => $request->getQueryParams()['id'], + 'data' => Filesystem::read(PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getQueryParams()['id'] . '.html'), + 'type' => (($request->getQueryParams()['type'] && $request->getQueryParams()['type'] == 'partial') ? 'partial' : 'template'), + 'links' => [ + 'templates' => [ + 'link' => $this->router->pathFor('admin.templates.index'), + 'title' => __('admin_templates'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ], + 'buttons' => [ + 'save_template' => [ + 'link' => 'javascript:;', + 'title' => __('admin_save'), + 'attributes' => ['class' => 'js-save-form-submit float-right btn'] + ] + ] + ] + ); + } + + /** + * Edit template process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function editProcess(Request $request, Response $response) : Response + { + $type = $request->getParsedBody()['type']; + + if (Filesystem::write(PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()['id'] . '.html', $request->getParsedBody()['data'])) { + $this->flash->addMessage('success', __('admin_message_' . $type . '_saved')); + } else { + $this->flash->addMessage('error', __('admin_message_' . $type . '_was_not_saved')); + } + + return $response->withRedirect($this->router->pathFor('admin.templates.index')); + } + + /** + * Rename template + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function rename(Request $request, Response $response) : Response + { + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/templates/rename.html', + [ + 'menu_item' => 'templates', + 'types' => ['partial' => __('admin_partial'), 'template' => __('admin_template')], + 'id_current' => $request->getQueryParams()['id'], + 'type_current' => (($request->getQueryParams()['type'] && $request->getQueryParams()['type'] == 'partial') ? 'partial' : 'template'), + 'links' => [ + 'templates' => [ + 'link' => $this->router->pathFor('admin.templates.index'), + 'title' => __('admin_templates'), + 'attributes' => ['class' => 'navbar-item active'] + ], + ] + ] + ); + } + + /** + * Rename template process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function renameProcess(Request $request, Response $response) : Response + { + $type = $request->getParsedBody()['type_current']; + + if (!Filesystem::has(PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()['id'] . '.html')) { + if (Filesystem::rename( + PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()['id_current'] . '.html', + PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()['id'] . '.html' + ) + ) { + $this->flash->addMessage('success', __('admin_message_'.$type.'_renamed')); + } else { + $this->flash->addMessage('error', __('admin_message_'.$type.'_was_not_renamed')); + } + } else { + $this->flash->addMessage('error', __('admin_message_'.$type.'_was_not_renamed')); + } + + return $response->withRedirect($this->router->pathFor('admin.templates.index')); + } + + /** + * Delete template process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function deleteProcess(Request $request, Response $response) : Response + { + $type = $request->getParsedBody()['type']; + + $file_path = PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()[$type . '-id'] . '.html'; + + if (Filesystem::delete($file_path)) { + $this->flash->addMessage('success', __('admin_message_' . $type . '_deleted')); + } else { + $this->flash->addMessage('error', __('admin_message_' . $type . '_was_not_deleted')); + } + + return $response->withRedirect($this->router->pathFor('admin.templates.index')); + } + + /** + * Duplicate template process + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + * + * @return Response + */ + public function duplicateProcess(Request $request, Response $response) : Response + { + $type = $request->getParsedBody()['type']; + + $file_path = PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()[$type . '-id'] . '.html'; + $file_path_new = PATH['themes'] . '/' . $this->registry->get('settings.theme') . '/' . $this->_type_location($type) . $request->getParsedBody()[$type . '-id'] . '-duplicate-' . date("Ymd_His") . '.html'; + + if (Filesystem::copy($file_path, $file_path_new)) { + $this->flash->addMessage('success', __('admin_message_' . $type . '_duplicated')); + } else { + $this->flash->addMessage('error', __('admin_message_' . $type . '_was_not_duplicated')); + } + + return $response->withRedirect($this->router->pathFor('admin.templates.index')); + } + + private function _type_location($type) + { + if ($type == 'partial') { + $_type = '/templates/partials/'; + } else { + $_type = '/templates/'; + } + + return $_type; + } +} diff --git a/site/plugins/admin/app/Controllers/UsersController.php b/site/plugins/admin/app/Controllers/UsersController.php new file mode 100644 index 00000000..d54ea189 --- /dev/null +++ b/site/plugins/admin/app/Controllers/UsersController.php @@ -0,0 +1,128 @@ +container->get('view')->render( + $response, + 'plugins/admin/views/templates/users/profile.html' + ); + } + + public function login($request, $response) + { + $users = $this->getUsers(); + + if ((Session::exists('role') && Session::get('role') == 'admin')) { + return $response->withRedirect($this->router->pathFor('admin.entries.index')); + } else { + if ($users && count($users) > 0) { + return $this->container->get('view')->render( + $response, + 'plugins/admin/views/templates/users/login.html' + ); + } else { + return $response->withRedirect($this->router->pathFor('admin.users.registration')); + } + } + } + + public function loginProcess($request, $response) + { + $data = $request->getParsedBody(); + + if (Filesystem::has($_user_file = PATH['site'] . '/accounts/' . $data['username'] . '.json')) { + $user_file = JsonParser::decode(Filesystem::read($_user_file)); + if (password_verify(trim($data['password']), $user_file['hashed_password'])) { + Session::set('username', $user_file['username']); + Session::set('role', $user_file['role']); + return $response->withRedirect($this->router->pathFor('admin.entries.index')); + } else { + $this->flash->addMessage('error', __('admin_message_wrong_username_password')); + return $response->withRedirect($this->router->pathFor('admin.users.login')); + } + } else { + $this->flash->addMessage('error', __('admin_message_wrong_username_password')); + return $response->withRedirect($this->router->pathFor('admin.users.login')); + } + } + + public function registration($request, $response) + { + if ((Session::exists('role') && Session::get('role') == 'admin')) { + return $response->withRedirect($this->router->pathFor('admin.entries.index')); + } else { + return $this->view->render( + $response, + 'plugins/admin/views/templates/users/registration.html' + ); + } + } + + /** + * registrationProcess + */ + public function registrationProcess($request, $response) + { + // Get POST data + $data = $request->getParsedBody(); + + if (!Filesystem::has($_user_file = PATH['site'] . '/accounts/' . $this->slugify->slugify($data['username']) . '.json')) { + Filesystem::createDir(PATH['site'] . '/accounts/'); + if (Filesystem::write( + PATH['site'] . '/accounts/' . $data['username'] . '.json', + JsonParser::encode(['username' => $this->slugify->slugify($data['username']), + 'hashed_password' => password_hash($data['password'], PASSWORD_BCRYPT), + 'email' => $data['email'], + 'role' => 'admin', + 'state' => 'enabled']) + )) { + return $response->withRedirect($this->router->pathFor('admin.users.login')); + } else { + return $response->withRedirect($this->router->pathFor('admin.users.registration')); + } + } else { + return $response->withRedirect($this->router->pathFor('admin.users.registration')); + } + } + + /** + * logoutProcess + */ + public function logoutProcess($request, $response) + { + Session::destroy(); + return $response->withRedirect($this->router->pathFor('admin.users.login')); + } + + public function getUsers() + { + // Get Users Profiles + $users = Filesystem::listContents(PATH['site'] . '/accounts/'); + + // Get Plugins List + $_users_list = Filesystem::listContents(PATH['plugins']); + $users_list = []; + + foreach($_users_list as $user) { + if ($user['type'] == 'dir') { + $users_list[] = $user; + } + } + + return $users; + } +} diff --git a/site/plugins/admin/app/Middleware/AuthMiddleware.php b/site/plugins/admin/app/Middleware/AuthMiddleware.php new file mode 100644 index 00000000..4af8657f --- /dev/null +++ b/site/plugins/admin/app/Middleware/AuthMiddleware.php @@ -0,0 +1,19 @@ +withRedirect($this->router->pathFor('admin.users.login')); + } + + return $response; + } +} diff --git a/site/plugins/admin/assets/scss/admin.scss b/site/plugins/admin/assets/scss/admin.scss index 6235f3ab..f3602bc2 100755 --- a/site/plugins/admin/assets/scss/admin.scss +++ b/site/plugins/admin/assets/scss/admin.scss @@ -1,5 +1,5 @@ // Admin Theme main SCSS -// (c) Sergey Romanenko +// (c) Sergey Romanenko // Generic // Low-specificity, far-reaching rulesets diff --git a/site/plugins/admin/assets/scss/components/nav.scss b/site/plugins/admin/assets/scss/components/nav.scss index 933b7327..f9b49762 100644 --- a/site/plugins/admin/assets/scss/components/nav.scss +++ b/site/plugins/admin/assets/scss/components/nav.scss @@ -181,3 +181,19 @@ margin-right: 10px; } } + +.nav-pills { + margin-bottom: 20px; +} + +.nav-pills .nav-link { + border-radius: 0; + color: black; +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + background: none; + border-bottom: 1px solid #ccc; + color: black; +} diff --git a/site/plugins/admin/assets/scss/objects/buttons.scss b/site/plugins/admin/assets/scss/objects/buttons.scss index 1a54fbdd..d827278f 100644 --- a/site/plugins/admin/assets/scss/objects/buttons.scss +++ b/site/plugins/admin/assets/scss/objects/buttons.scss @@ -38,6 +38,10 @@ border: 1px solid #000; } +.input-group-append > .btn { + padding: 6.5px 16px; +} + .dropdown-item { color: $btn-text-color; diff --git a/site/plugins/admin/bootstrap.php b/site/plugins/admin/bootstrap.php new file mode 100755 index 00000000..d985f021 --- /dev/null +++ b/site/plugins/admin/bootstrap.php @@ -0,0 +1,85 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use Flextype\Component\Arr\Arr; +use Flextype\Component\I18n\I18n; +use function Flextype\Component\I18n\__; + +// Get URI +$uri = explode('/', \Slim\Http\Uri::createFromEnvironment(new \Slim\Http\Environment($_SERVER))->getPath()); + +// Set base admin route +$admin_route = 'admin'; + +// Ensure vendor libraries exist +!is_file($autoload = __DIR__ . '/vendor/autoload.php') and exit("Please run: composer install"); + +// Register The Auto Loader +$loader = require_once $autoload; + +// Include routes +include_once 'routes/web.php'; + +// Set Default Admin locale +I18n::$locale = $flextype->registry->get('settings.locale'); + +// Add Admin Navigation +$flextype->registry->set('admin_navigation.content.entries', ['title' => '' . __('admin_entries'), 'link' => $flextype->router->pathFor('admin.entries.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.extends.fieldsets', ['title' => '' . __('admin_fieldsets'), 'link' => $flextype->router->pathFor('admin.fieldsets.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.extends.templates', ['title' => '' . __('admin_templates'), 'link' => $flextype->router->pathFor('admin.templates.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.extends.snippets', ['title' => '' . __('admin_snippets'), 'link' => $flextype->router->pathFor('admin.snippets.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.extends.plugins', ['title' => '' . __('admin_plugins'), 'link' => $flextype->router->pathFor('admin.plugins.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.settings.settings', ['title' => '' . __('admin_settings'), 'link' => $flextype->router->pathFor('admin.settings.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.settings.infomation', ['title' => '' . __('admin_information'), 'link' => $flextype->router->pathFor('admin.information.index'), 'attributes' => ['class' => 'nav-link']]); +$flextype->registry->set('admin_navigation.help.docs', ['title' => '' . __('admin_documentation'), 'link' => 'http://flextype.org/en/documentation', 'attributes' => ['class' => 'nav-link', 'target' => '_blank']]); + +// Add Global Vars Admin Twig Extension +$flextype->view->addExtension(new GlobalVarsAdminTwigExtension($flextype)); + +$flextype['DashboardController'] = function ($container) { + return new DashboardController($container); +}; + +$flextype['SettingsController'] = function ($container) { + return new SettingsController($container); +}; + +$flextype['InformationController'] = function ($container) { + return new InformationController($container); +}; + +$flextype['PluginsController'] = function ($container) { + return new PluginsController($container); +}; + +$flextype['EntriesController'] = function ($container) { + return new EntriesController($container); +}; + +$flextype['FieldsetsController'] = function ($container) { + return new FieldsetsController($container); +}; + +$flextype['SnippetsController'] = function ($container) { + return new SnippetsController($container); +}; + +$flextype['TemplatesController'] = function ($container) { + return new TemplatesController($container); +}; + +$flextype['UsersController'] = function ($container) { + return new UsersController($container); +}; diff --git a/site/plugins/admin/classes/DashboardManager.php b/site/plugins/admin/classes/DashboardManager.php deleted file mode 100644 index b8d323c5..00000000 --- a/site/plugins/admin/classes/DashboardManager.php +++ /dev/null @@ -1,13 +0,0 @@ - $field) { - - if (isset($_frontmatter[$key])) { - $_value = $_frontmatter[$key]; - } elseif(isset($field['value'])) { - $_value = $field['value']; - } else { - $_value = ''; - } - - $frontmatter[$key] = $_value; - } - - // Delete content field from frontmatter - Arr::delete($frontmatter, 'content'); - - // Create a entry! - if (Filesystem::setFileContent( - $file, - '---'."\n". - YamlParser::encode(array_replace_recursive($frontmatter, $_frontmatter)). - '---'."\n" - )) { - Notification::set('success', __('admin_message_entry_created')); - Http::redirect(Http::getBaseUrl().'/admin/entries/?entry='.Http::post('parent_entry')); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/content/entries/add') - ->assign('fieldsets', Themes::getFieldsets()) - ->assign('entries_list', Entries::getEntries('', 'slug')) - ->display(); - break; - case 'delete': - if (Http::get('entry') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::deleteDir(PATH['entries'] . '/' . Http::get('entry')); - Notification::set('success', __('admin_message_entry_deleted')); - Http::redirect(Http::getBaseUrl() . '/admin/entries/?entry=' . Http::get('entry_current')); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'duplicate': - if (Http::get('entry') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::recursiveCopy(PATH['entries'] . '/' . Http::get('entry'), - PATH['entries'] . '/' . Http::get('entry') . '-duplicate-' . date("Ymd_His")); - Notification::set('success', __('admin_message_entry_duplicated')); - Http::redirect(Http::getBaseUrl().'/admin/entries/?entry='.implode('/', array_slice(explode("/", Http::get('entry')), 0, -1))); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'rename': - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - - $rename_entry = Http::post('rename_entry'); - - if (isset($rename_entry)) { - if (Token::check((Http::post('token')))) { - if (!Filesystem::dirExists(PATH['entries'] . '/' . Http::post('name'))) { - if (rename( - PATH['entries'] . '/' . Http::post('entry_path_current'), - PATH['entries'] . '/' . Http::post('entry_parent') . '/' . Text::safeString(Http::post('name'), '-', true) - )) { - Notification::set('success', __('admin_message_entry_renamed')); - Http::redirect(Http::getBaseUrl().'/admin/entries/?entry='.Http::post('entry_parent')); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/content/entries/rename') - ->assign('name_current', Arr::last(explode("/", Http::get('entry')))) - ->assign('entry_path_current', Http::get('entry')) - ->assign('entry_parent', implode('/', array_slice(explode("/", Http::get('entry')), 0, -1))) - ->assign('entry', $entry) - ->display(); - break; - case 'type': - - $type_entry = Http::post('type_entry'); - - if (isset($type_entry)) { - if (Token::check((Http::post('token')))) { - - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - - $content = $entry['content']; - Arr::delete($entry, 'content'); - Arr::delete($entry, 'url'); - Arr::delete($entry, 'slug'); - Arr::delete($entry, 'base_url'); - - $frontmatter = $_POST; - Arr::delete($frontmatter, 'token'); - Arr::delete($frontmatter, 'type_entry'); - Arr::delete($frontmatter, 'entry'); - $frontmatter = YamlParser::encode(array_merge($entry, $frontmatter)); - - if (Filesystem::setFileContent( - PATH['entries'] . '/' . Http::post('entry') . '/entry.html', - '---'."\n". - $frontmatter."\n". - '---'."\n". - $content - )) { - Notification::set('success', __('admin_message_entry_changes_saved')); - Http::redirect(Http::getBaseUrl() . '/admin/entries?entry='.implode('/', array_slice(explode("/", Http::get('entry')), 0, -1))); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - - Themes::view('admin/views/templates/content/entries/type') - ->assign('fieldset', $entry['fieldset']) - ->assign('fieldsets', Themes::getFieldsets()) - ->display(); - break; - case 'move': - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - - $move_entry = Http::post('move_entry'); - - if (isset($move_entry)) { - if (Token::check((Http::post('token')))) { - if (!Filesystem::dirExists(realpath(PATH['entries'] . '/' . Http::post('parent_entry') . '/' . Http::post('name_current')))) { - if (rename( - PATH['entries'] . '/' . Http::post('entry_path_current'), - PATH['entries'] . '/' . Http::post('parent_entry') . '/' . Text::safeString(Http::post('name_current'), '-', true) - )) { - Notification::set('success', __('admin_message_entry_moved')); - Http::redirect(Http::getBaseUrl().'/admin/entries/?entry='.Http::post('parent_entry')); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - $_entries_list = Entries::getEntries('', 'slug'); - $entries_list['/'] = '/'; - foreach ($_entries_list as $_entry) { - if ($_entry['slug'] != '') { - $entries_list[$_entry['slug']] = $_entry['slug']; - } else { - $entries_list[Registry::get('settings.entries.main')] = Registry::get('settings.entries.main'); - } - } - - Themes::view('admin/views/templates/content/entries/move') - ->assign('entry_path_current', Http::get('entry')) - ->assign('entries_list', $entries_list) - ->assign('name_current', Arr::last(explode("/", Http::get('entry')))) - ->assign('entry_parent', implode('/', array_slice(explode("/", Http::get('entry')), 0, -1))) - ->assign('entry', $entry) - ->display(); - break; - case 'edit': - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - - if (Http::get('media') && Http::get('media') == 'true') { - EntriesManager::processFilesManager(); - - Themes::view('admin/views/templates/content/entries/media') - ->assign('entry_name', Http::get('entry')) - ->assign('files', EntriesManager::getMediaList(Http::get('entry')), true) - ->assign('entry', $entry) - ->display(); - } else { - if (Http::get('source') && Http::get('source') == 'true') { - $action = Http::post('action'); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - Filesystem::setFileContent( - PATH['entries'] . '/' . Http::post('entry_name') . '/entry.html', - Http::post('entry_content') - ); - Notification::set('success', __('admin_message_entry_changes_saved')); - Http::redirect(Http::getBaseUrl().'/admin/entries/edit?entry='.Http::post('entry_name').'&source=true'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - $entry_content = Filesystem::getFileContent(PATH['entries'] . '/' . Http::get('entry') . '/entry.html'); - - Themes::view('admin/views/templates/content/entries/source') - ->assign('entry_name', Http::get('entry')) - ->assign('entry_content', $entry_content) - ->assign('entry', $entry) - ->assign('files', EntriesManager::getMediaList(Http::get('entry')), true) - ->display(); - } else { - $action = Http::post('action'); - $indenter = new Indenter(); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - $entry = Entries::processEntry(PATH['entries'] . '/' . Http::get('entry') . '/entry.html', false, true); - Arr::delete($entry, 'content'); - Arr::delete($entry, 'url'); - Arr::delete($entry, 'slug'); - Arr::delete($entry, 'base_url'); - - $frontmatter = $_POST; - Arr::delete($frontmatter, 'token'); - Arr::delete($frontmatter, 'action'); - Arr::delete($frontmatter, 'content'); - $frontmatter = YamlParser::encode(array_merge($entry, $frontmatter)); - - $content = Http::post('content'); - $content = (isset($content)) ? $indenter->indent($content) : ''; - - Filesystem::setFileContent( - PATH['entries'] . '/' . Http::get('entry') . '/entry.html', - '---'."\n". - $frontmatter."\n". - '---'."\n". - $content - ); - Notification::set('success', __('admin_message_entry_changes_saved')); - Http::redirect(Http::getBaseUrl().'/admin/entries/edit?entry='.Http::get('entry')); - } - } - - // Fieldset for current entry template - $fieldset_path = PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . (isset($entry['fieldset']) ? $entry['fieldset'] : 'default') . '.yaml'; - $fieldset = YamlParser::decode(Filesystem::getFileContent($fieldset_path)); - is_null($fieldset) and $fieldset = []; - - Themes::view('admin/views/templates/content/entries/content') - ->assign('entry_name', Http::get('entry')) - ->assign('entry', $entry) - ->assign('fieldset', $fieldset) - ->assign('templates', Themes::getTemplates()) - ->assign('files', EntriesManager::getMediaList(Http::get('entry')), true) - ->display(); - } - } - break; - default: - if (!Http::get('add')) { - Themes::view('admin/views/templates/content/entries/list') - ->assign('entries_list', Entries::getEntries($query, 'date', 'DESC')) - ->display(); - } - break; - } - } - - public static function getMediaList($entry, $path = false) - { - $files = []; - foreach (array_diff(scandir(PATH['entries'] . '/' . $entry), ['..', '.']) as $file) { - if (strpos(Registry::get('settings.entries.media.accept_file_types'), $file_ext = substr(strrchr($file, '.'), 1)) !== false) { - if (strpos($file, strtolower($file_ext), 1)) { - if ($path) { - $files[Http::getBaseUrl().'/'.$entry.'/'.$file] = Http::getBaseUrl().'/'.$entry.'/'.$file; - } else { - $files[$file] = $file; - } - } - } - } - return $files; - } - - public static function displayEntryForm(array $form, array $values = [], string $content) - { - echo Form::open(null, ['id' => 'form', 'class' => 'row']); - echo Form::hidden('token', Token::generate()); - echo Form::hidden('action', 'save-form'); - - if (isset($form) > 0) { - foreach ($form as $element => $property) { - - // Create attributes - $property['attributes'] = Arr::keyExists($property, 'attributes') ? $property['attributes'] : [] ; - - // Create attribute class - $property['attributes']['class'] = Arr::keyExists($property, 'attributes.class') ? 'form-control ' . $property['attributes']['class'] : 'form-control' ; - - // Create attribute size - $property['size'] = Arr::keyExists($property, 'size') ? $property['size'] : 'col-12' ; - - // Create attribute value - $property['value'] = Arr::keyExists($property, 'value') ? $property['value'] : '' ; - - $pos = strpos($element, '.'); - - if ($pos === false) { - $form_element_name = $element; - } else { - $form_element_name = str_replace(".", "][", "$element").']'; - } - - $pos = strpos($form_element_name, ']'); - - if ($pos !== false) { - $form_element_name = substr_replace($form_element_name, '', $pos, strlen(']')); - } - - // Form value - $form_value = Arr::keyExists($values, $element) ? Arr::get($values, $element) : $property['value']; - - // Form label - $form_label = Form::label($element, __($property['title'])); - - // Form elements - switch ($property['type']) { - - // Simple text-input, for multi-line fields. - case 'textarea': - $form_element = Form::textarea($element, $form_value, $property['attributes']); - break; - - // The hidden field is like the text field, except it's hidden from the content editor. - case 'hidden': - $form_element = Form::hidden($element, $form_value); - break; - - // A WYSIWYG HTML field. - case 'html': - $property['attributes']['class'] .= ' js-html-editor'; - $form_element = Form::textarea($element, $form_value, $property['attributes']); - break; - - // A specific WYSIWYG HTML field for entry content editing - case 'content': - $form_element = Form::textarea($element, $content, $property['attributes']); - break; - - // Template select field for selecting entry template - case 'template_select': - $form_element = Form::select($form_element_name, Themes::getTemplates(), $form_value, $property['attributes']); - break; - - // Visibility select field for selecting entry visibility state - case 'visibility_select': - $form_element = Form::select($form_element_name, ['draft' => __('admin_entries_draft'), 'visible' => __('admin_entries_visible'), 'hidden' => __('admin_entries_hidden')], (!empty($form_value) ? $form_value : 'visible'), $property['attributes']); - break; - - // Media select field - case 'media_select': - $form_element = Form::select($form_element_name, EntriesManager::getMediaList(Http::get('entry'), false), $form_value, $property['attributes']); - break; - - // Simple text-input, for single-line fields. - default: - $form_element = Form::input($form_element_name, $form_value, $property['attributes']); - break; - } - - // Render form elments with labels - if ($property['type'] == 'hidden') { - echo $form_element; - } else { - echo '
'; - echo $form_label . $form_element; - echo '
'; - } - } - } - - echo Form::close(); - } - - protected static function processFilesManager() - { - $files_directory = PATH['entries'] . '/' . Http::get('entry') . '/'; - - if (Http::get('delete_file') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::deleteFile($files_directory . Http::get('delete_file')); - Notification::set('success', __('admin_message_entry_file_deleted')); - Http::redirect(Http::getBaseUrl().'/admin/entries/edit?entry='.Http::get('entry').'&media=true'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - if (Http::post('upload_file')) { - if (Token::check(Http::post('token'))) { - //echo Registry::get('settings.entries.media.accept_file_types'); - - $file = EntriesManager::uploadFile($_FILES['file'], $files_directory, Registry::get('settings.entries.media.accept_file_types'), 27000000); - - if($file !== false) { - - if (in_array(pathinfo($file)['extension'], ['jpg', 'jpeg', 'png', 'gif'])) { - - // open an image file - $img = Image::make($file); - - // now you are able to resize the instance - if (Registry::get('settings.entries.media.upload_images_width') > 0 && Registry::get('settings.entries.media.upload_images_height') > 0) { - $img->resize(Registry::get('settings.entries.media.upload_images_width'), Registry::get('settings.entries.media.upload_images_height'), function ($constraint) { - $constraint->aspectRatio(); - $constraint->upsize(); - }); - } elseif (Registry::get('settings.entries.media.upload_images_width') > 0) { - $img->resize(Registry::get('settings.entries.media.upload_images_width'), null, function ($constraint) { - $constraint->aspectRatio(); - $constraint->upsize(); - }); - } elseif (Registry::get('settings.entries.media.upload_images_height') > 0) { - $img->resize(null, Registry::get('settings.entries.media.upload_images_height'), function ($constraint) { - $constraint->aspectRatio(); - $constraint->upsize(); - }); - } - - // finally we save the image as a new file - $img->save($file, Registry::get('settings.entries.media.upload_images_quality')); - - // destroy - $img->destroy(); - } - - Notification::set('success', __('admin_message_entry_file_uploaded')); - Http::redirect(Http::getBaseUrl().'/admin/entries/edit?entry='.Http::get('entry').'&media=true'); - } else { - Notification::set('error', __('admin_message_entry_file_not_uploaded')); - Http::redirect(Http::getBaseUrl().'/admin/entries/edit?entry='.Http::get('entry').'&media=true'); - } - - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - } - - /** - * Upload files on the Server with several type of Validations! - * - * Entries::uploadFile($_FILES['file'], $files_directory); - * - * @param array $file Uploaded file data - * @param string $upload_directory Upload directory - * @param string $allowed Allowed file extensions - * @param int $max_size Max file size in bytes - * @param string $filename New filename - * @param bool $remove_spaces Remove spaces from the filename - * @param int $max_width Maximum width of image - * @param int $max_height Maximum height of image - * @param bool $exact Match width and height exactly? - * @param int $chmod Chmod mask - * @return string on success, full path to new file - * @return false on failure - */ - public static function uploadFile( - array $file, - string $upload_directory, - string $allowed = 'jpeg, png, gif, jpg', - int $max_size = 3000000, - string $filename = null, - bool $remove_spaces = true, - int $max_width = null, - int $max_height = null, - bool $exact = false, - int $chmod = 0644 - ) { - // - // Tests if a successful upload has been made. - // - if (isset($file['error']) - and isset($file['tmp_name']) - and $file['error'] === UPLOAD_ERR_OK - and is_uploaded_file($file['tmp_name'])) { - - // - // Tests if upload data is valid, even if no file was uploaded. - // - if (isset($file['error']) - and isset($file['name']) - and isset($file['type']) - and isset($file['tmp_name']) - and isset($file['size'])) { - - // - // Test if an uploaded file is an allowed file type, by extension. - // - if (strpos($allowed, strtolower(pathinfo($file['name'], PATHINFO_EXTENSION))) !== false) { - - // - // Validation rule to test if an uploaded file is allowed by file size. - // - if (($file['error'] != UPLOAD_ERR_INI_SIZE) - and ($file['error'] == UPLOAD_ERR_OK) - and ($file['size'] <= $max_size)) { - - // - // Validation rule to test if an upload is an image and, optionally, is the correct size. - // - if (in_array(mime_content_type($file['tmp_name']), ['image/jpeg', 'image/jpg', 'image/png','image/gif'])) { - function validateImage($file, $max_width, $max_height, $exact) - { - try { - // Get the width and height from the uploaded image - list($width, $height) = getimagesize($file['tmp_name']); - } catch (ErrorException $e) { - // Ignore read errors - } - - if (empty($width) or empty($height)) { - // Cannot get image size, cannot validate - return false; - } - - if (! $max_width) { - // No limit, use the image width - $max_width = $width; - } - - if (! $max_height) { - // No limit, use the image height - $max_height = $height; - } - - if ($exact) { - // Check if dimensions match exactly - return ($width === $max_width and $height === $max_height); - } else { - // Check if size is within maximum dimensions - return ($width <= $max_width and $height <= $max_height); - } - - return false; - } - - if (validateImage($file, $max_width, $max_height, $exact) === false) { - return false; - } - } - - if (! isset($file['tmp_name']) or ! is_uploaded_file($file['tmp_name'])) { - - // Ignore corrupted uploads - return false; - } - - if ($filename === null) { - - // Use the default filename - $filename = $file['name']; - } - - if ($remove_spaces === true) { - - // Remove spaces from the filename - $filename = Text::safeString(pathinfo($filename)['filename'], '-', true) . '.' . pathinfo($filename)['extension']; - } - - if (! is_dir($upload_directory) or ! is_writable(realpath($upload_directory))) { - throw new \RuntimeException("Directory {$upload_directory} must be writable"); - } - - // Make the filename into a complete path - $filename = realpath($upload_directory).DIRECTORY_SEPARATOR.$filename; - - if (move_uploaded_file($file['tmp_name'], $filename)) { - - if ($chmod !== false) { - // Set permissions on filename - chmod($filename, $chmod); - } - - // Return new file path - return $filename; - } - } - } - } - } - - return false; - } - -} diff --git a/site/plugins/admin/classes/FieldsetsManager.php b/site/plugins/admin/classes/FieldsetsManager.php deleted file mode 100644 index e7053ed1..00000000 --- a/site/plugins/admin/classes/FieldsetsManager.php +++ /dev/null @@ -1,133 +0,0 @@ - Http::post('title'), - 'fields' => [ - 'title' => [ - 'title' => 'admin_title', - 'type' => 'text', - 'size' => 'col-12' - ] - ] - ]) - )) { - Notification::set('success', __('admin_message_fieldset_created')); - Http::redirect(Http::getBaseUrl() . '/admin/fieldsets'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/fieldsets/add') - ->display(); - break; - case 'delete': - if (Http::get('fieldset') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::deleteFile(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::get('fieldset') . '.yaml'); - Notification::set('success', __('admin_message_fieldset_deleted')); - Http::redirect(Http::getBaseUrl() . '/admin/fieldsets'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'rename': - $rename_fieldset = Http::post('rename_fieldset'); - - if (isset($rename_fieldset)) { - if (Token::check((Http::post('token')))) { - if (!Filesystem::fileExists(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::post('name') . '.yaml')) { - if (rename( - PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::post('name_current') . '.yaml', - PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::post('name') . '.yaml') - ) { - Notification::set('success', __('admin_message_fieldset_renamed')); - Http::redirect(Http::getBaseUrl() . '/admin/fieldsets'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/fieldsets/rename') - ->assign('name_current', Http::get('fieldset')) - ->display(); - break; - case 'duplicate': - if (Http::get('fieldset') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::copy(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::get('fieldset') . '.yaml', - PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::get('fieldset') . '-duplicate-' . date("Ymd_His") . '.yaml'); - Notification::set('success', __('admin_message_fieldset_duplicated')); - Http::redirect(Http::getBaseUrl().'/admin/fieldsets'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'edit': - $action = Http::post('action'); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - - // Save a fieldset! - if (Filesystem::setFileContent( - PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::post('name') . '.yaml', - Http::post('fieldset') - )) { - Notification::set('success', __('admin_message_fieldset_saved')); - Http::redirect(Http::getBaseUrl() . '/admin/fieldsets/edit?fieldset='.Http::post('name')); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/fieldsets/edit') - ->assign('fieldset', Filesystem::getFileContent(PATH['themes'] . '/' . Registry::get('settings.theme') . '/fieldsets/' . Http::get('fieldset') . '.yaml')) - ->display(); - break; - default: - $fieldsets_list = Themes::getFieldsets(); - - Themes::view('admin/views/templates/extends/fieldsets/list') - ->assign('fieldsets_list', $fieldsets_list) - ->display(); - break; - } - } -} diff --git a/site/plugins/admin/classes/InformationManager.php b/site/plugins/admin/classes/InformationManager.php deleted file mode 100644 index 1e11f57d..00000000 --- a/site/plugins/admin/classes/InformationManager.php +++ /dev/null @@ -1,14 +0,0 @@ -display(); - } -} diff --git a/site/plugins/admin/classes/MenusManager.php b/site/plugins/admin/classes/MenusManager.php deleted file mode 100644 index 3e38c28b..00000000 --- a/site/plugins/admin/classes/MenusManager.php +++ /dev/null @@ -1,136 +0,0 @@ - Http::post('title')]) - )) { - Notification::set('success', __('admin_message_menu_created')); - Http::redirect(Http::getBaseUrl() . '/admin/menus'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/menus/add') - ->display(); - break; - case 'delete': - if (Http::get('menu') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::deleteFile(PATH['menus'] . '/' . Http::get('menu') . '.yaml'); - Notification::set('success', __('admin_message_menu_deleted')); - Http::redirect(Http::getBaseUrl() . '/admin/menus'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'rename': - $rename_menu = Http::post('rename_menu'); - - if (isset($rename_menu)) { - if (Token::check((Http::post('token')))) { - if (!Filesystem::fileExists(PATH['menus'] . '/' . Http::post('name') . '.yaml')) { - if (rename( - PATH['menus'] . '/' . Http::post('name_current') . '.yaml', - PATH['menus'] . '/' . Http::post('name') . '.yaml') - ) { - Notification::set('success', __('admin_message_menu_renamed')); - Http::redirect(Http::getBaseUrl() . '/admin/menus'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/menus/rename') - ->assign('name_current', Http::get('menu')) - ->display(); - break; - case 'duplicate': - if (Http::get('menu') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::copy(PATH['menus'] . '/' . Http::get('menu') . '.yaml', - PATH['menus'] . '/' . Http::get('menu') . '-duplicate-' . date("Ymd_His") . '.yaml'); - Notification::set('success', __('admin_message_menu_duplicated')); - Http::redirect(Http::getBaseUrl().'/admin/menus'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'edit': - $action = Http::post('action'); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - - // Save a menu! - if (Filesystem::setFileContent( - PATH['menus'] . '/' . Http::post('name') . '.yaml', - Http::post('menu') - )) { - Notification::set('success', __('admin_message_menu_saved')); - Http::redirect(Http::getBaseUrl() . '/admin/menus/edit?menu=' . Http::post('name')); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/menus/edit') - ->assign('menu', Filesystem::getFileContent(PATH['menus'] . '/' . Http::get('menu') . '.yaml')) - ->display(); - break; - default: - $menus = []; - $menus_list = []; - - $menus = Filesystem::getFilesList(PATH['menus'], 'yaml'); - - if (count($menus) > 0) { - foreach ($menus as $menu) { - $menus_list[basename($menu, '.yaml')] = YamlParser::decode(Filesystem::getFileContent($menu)); - } - } - - Themes::view('admin/views/templates/extends/menus/list') - ->assign('menus_list', $menus_list) - ->display(); - break; - } - } -} diff --git a/site/plugins/admin/classes/NavigationManager.php b/site/plugins/admin/classes/NavigationManager.php deleted file mode 100644 index b33ad01e..00000000 --- a/site/plugins/admin/classes/NavigationManager.php +++ /dev/null @@ -1,22 +0,0 @@ -assign('plugins_list', Registry::get('plugins')) - ->display(); - } -} diff --git a/site/plugins/admin/classes/SettingsManager.php b/site/plugins/admin/classes/SettingsManager.php deleted file mode 100644 index e7adda80..00000000 --- a/site/plugins/admin/classes/SettingsManager.php +++ /dev/null @@ -1,104 +0,0 @@ - 'Auto Detect', - 'file' => 'File', - 'apc' => 'APC', - 'apcu' => 'APCu', - 'wincache' => 'WinCache', - 'xcache' => 'Xcache', - 'memcache' => 'Memcache', - 'memcached' => 'Memcached', - 'redis' => 'Redis', - 'sqlite3' => 'SQLite3', - 'zend' => 'Zend', - 'array' => 'Array']; - - Themes::view('admin/views/templates/system/settings/list') - ->assign('settings', Registry::get('settings')) - ->assign('cache_driver', $cache_driver) - ->assign('locales', $locales) - ->assign('entries', $entries) - ->assign('themes', $themes) - ->display(); - } -} diff --git a/site/plugins/admin/classes/SnippetsManager.php b/site/plugins/admin/classes/SnippetsManager.php deleted file mode 100644 index cddc062a..00000000 --- a/site/plugins/admin/classes/SnippetsManager.php +++ /dev/null @@ -1,127 +0,0 @@ -display(); - break; - case 'delete': - if (Http::get('snippet') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::deleteFile(PATH['snippets'] . '/' . Http::get('snippet') . '.php'); - Notification::set('success', __('admin_message_snippet_deleted')); - Http::redirect(Http::getBaseUrl() . '/admin/snippets'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'rename': - $rename_snippet = Http::post('rename_snippet'); - - if (isset($rename_snippet)) { - if (Token::check((Http::post('token')))) { - if (!Filesystem::fileExists(PATH['snippets'] . '/' . Http::post('name') . '.php')) { - if (rename( - PATH['snippets'] . '/' . Http::post('name_current') . '.php', - PATH['snippets'] . '/' . Http::post('name') . '.php') - ) { - Notification::set('success', __('admin_message_snippet_renamed')); - Http::redirect(Http::getBaseUrl() . '/admin/snippets'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/snippets/rename') - ->assign('name_current', Http::get('snippet')) - ->display(); - break; - case 'duplicate': - if (Http::get('snippet') != '') { - if (Token::check((Http::get('token')))) { - Filesystem::copy(PATH['snippets'] . '/' . Http::get('snippet') . '.php', - PATH['snippets'] . '/' . Http::get('snippet') . '-duplicate-' . date("Ymd_His") . '.php'); - Notification::set('success', __('admin_message_snippet_duplicated')); - Http::redirect(Http::getBaseUrl().'/admin/snippets'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'edit': - $action = Http::post('action'); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - - // Save a snippet! - if (Filesystem::setFileContent( - PATH['snippets'] . '/' . Http::post('name') . '.php', - Http::post('snippet') - )) { - Notification::set('success', __('admin_message_snippet_saved')); - Http::redirect(Http::getBaseUrl() . '/admin/snippets/edit?snippet='.Http::post('name')); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/snippets/edit') - ->assign('snippet', Filesystem::getFileContent(PATH['snippets'] . '/' . Http::get('snippet') . '.php')) - ->display(); - break; - default: - $snippets_list = Filesystem::getFilesList(PATH['snippets'], 'php'); - - Themes::view('admin/views/templates/extends/snippets/list') - ->assign('snippets_list', $snippets_list) - ->display(); - break; - } - } -} diff --git a/site/plugins/admin/classes/TemplatesManager.php b/site/plugins/admin/classes/TemplatesManager.php deleted file mode 100644 index bb6970cc..00000000 --- a/site/plugins/admin/classes/TemplatesManager.php +++ /dev/null @@ -1,136 +0,0 @@ -display(); - break; - case 'delete': - if (Http::get('template') != '') { - if (Token::check((Http::get('token')))) { - $type = (Http::get('type') && Http::get('type') == 'partial') ? 'partial' : 'template'; - Filesystem::deleteFile(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::get('template') . '.php'); - Notification::set('success', __('admin_message_template_deleted')); - Http::redirect(Http::getBaseUrl() . '/admin/templates'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'rename': - $rename_template = Http::post('rename_template'); - - if (isset($rename_template)) { - if (Token::check((Http::post('token')))) { - $type = (Http::post('type') && Http::post('type') == 'partial') ? 'partial' : 'template'; - $type_current = (Http::post('type_current') && Http::post('type_current') == 'partial') ? 'partial' : 'template'; - if (!Filesystem::fileExists(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::post('name') . '.php')) { - if (rename( - PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type_current . 's' . '/' . Http::post('name_current') . '.php', - PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::post('name') . '.php') - ) { - Notification::set('success', __('admin_message_template_renamed')); - Http::redirect(Http::getBaseUrl() . '/admin/templates'); - } - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/extends/templates/rename') - ->assign('name_current', Http::get('template')) - ->assign('type', ((Http::get('type') && Http::get('type') == 'partial') ? 'partial' : 'template')) - ->display(); - break; - case 'duplicate': - if (Http::get('template') != '') { - if (Token::check((Http::get('token')))) { - $type = (Http::get('type') && Http::get('type') == 'partial') ? 'partial' : 'template'; - Filesystem::copy(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::get('template') . '.php', - PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::get('template') . '-duplicate-' . date("Ymd_His") . '.php'); - Notification::set('success', __('admin_message_template_duplicated')); - Http::redirect(Http::getBaseUrl().'/admin/templates'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - break; - case 'edit': - $action = Http::post('action'); - - if (isset($action) && $action == 'save-form') { - if (Token::check((Http::post('token')))) { - - $type = (Http::post('type') && Http::post('type') == 'partial') ? 'partial' : 'template'; - - // Save a template! - if (Filesystem::setFileContent( - PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . 's' . '/' . Http::post('name') . '.php', - Http::post('template') - )) { - Notification::set('success', __('admin_message_template_saved')); - Http::redirect(Http::getBaseUrl() . '/admin/templates/edit?template=' . Http::post('name') . '&type=' . $type); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - $type = (Http::get('type') && Http::get('type') == 'partial') ? 'partials' : 'templates'; - - Themes::view('admin/views/templates/extends/templates/edit') - ->assign('template', Filesystem::getFileContent(PATH['themes'] . '/' . Registry::get('settings.theme') . '/views/' . $type . '/' . Http::get('template') . '.php')) - ->assign('type', ((Http::get('type') && Http::get('type') == 'partial') ? 'partial' : 'template')) - ->display(); - break; - default: - - Themes::view('admin/views/templates/extends/templates/list') - ->assign('templates_list', Themes::getTemplates()) - ->assign('partials_list', Themes::getPartials()) - ->display(); - break; - } - } -} diff --git a/site/plugins/admin/classes/UsersManager.php b/site/plugins/admin/classes/UsersManager.php deleted file mode 100644 index 021d1311..00000000 --- a/site/plugins/admin/classes/UsersManager.php +++ /dev/null @@ -1,107 +0,0 @@ -display(); - } - - public static function logout() - { - if (Token::check((Http::get('token')))) { - Session::destroy(); - Http::redirect(Http::getBaseUrl().'/admin'); - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - public static function getRegistrationPage() - { - Registry::set('sidebar_menu_item', ''); - - $registration = Http::post('registration'); - - if (isset($registration)) { - if (Token::check((Http::post('token')))) { - if (Filesystem::fileExists($_user_file = PATH['site'] . '/accounts/' . Text::safeString(Http::post('username')) . '.yaml')) { - } else { - Filesystem::setFileContent( - PATH['site'] . '/accounts/' . Http::post('username') . '.yaml', - YamlParser::encode(['username' => Text::safeString(Http::post('username')), - 'hashed_password' => password_hash(trim(Http::post('password')), PASSWORD_BCRYPT), - 'email' => Http::post('email'), - 'role' => 'admin', - 'state' => 'enabled']) - ); - - Http::redirect(Http::getBaseUrl().'/admin/entries'); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/auth/registration') - ->display(); - } - - public static function isUsersExists() - { - // Get Users Profiles - $users = Filesystem::getFilesList(PATH['site'] . '/accounts/', 'yaml'); - - // If any users exists then return true - return ($users && count($users) > 0) ? true : false; - } - - public static function isLoggedIn() - { - return (Session::exists('role') && Session::get('role') == 'admin') ? true : false; - } - - public static function getAuthPage() - { - Registry::set('sidebar_menu_item', ''); - - $login = Http::post('login'); - - if (isset($login)) { - if (Token::check((Http::post('token')))) { - if (Filesystem::fileExists($_user_file = PATH['site'] . '/accounts/' . Http::post('username') . '.yaml')) { - $user_file = YamlParser::decode(Filesystem::getFileContent($_user_file)); - if (password_verify(trim(Http::post('password')), $user_file['hashed_password'])) { - Session::set('username', $user_file['username']); - Session::set('role', $user_file['role']); - Http::redirect(Http::getBaseUrl().'/admin/entries'); - } else { - Notification::set('error', __('admin_message_wrong_username_password')); - } - } else { - Notification::set('error', __('admin_message_wrong_username_password')); - } - } else { - die('Request was denied because it contained an invalid security token. Please refresh the page and try again.'); - } - } - - Themes::view('admin/views/templates/auth/login') - ->display(); - } -} diff --git a/site/plugins/admin/composer.json b/site/plugins/admin/composer.json index 11ddb6da..fc4e191d 100755 --- a/site/plugins/admin/composer.json +++ b/site/plugins/admin/composer.json @@ -3,25 +3,25 @@ "type": "project", "description": "Admin plugin for Flextype", "keywords": ["admin", "plugin", "manager", "panel", "flextype", "php", "html"], - "homepage": "https://github.com/flextype-plugins/admin", + "homepage": "https://github.com/flextype", "license": "MIT", "authors": [ { "name": "Sergey Romanenko", - "email": "awilum@yandex.ru", - "homepage": "https://github.com/Awilum" + "email": "hello@romanenko.digital", + "homepage": "http://romanenko.digital" } ], "support": { - "issues": "https://github.com/flextype-plugins/admin/issues" + "issues": "https://github.com/flextype/issues" }, "require": { - "php": ">=7.1.3", - "gajus/dindent": "2.0.2" + "php": ">=7.1.3" }, "autoload": { "classmap": [ - "classes" + "app", + "twig" ] } } diff --git a/site/plugins/admin/gulpfile.js b/site/plugins/admin/gulpfile.js index 9fea9ef4..0d0ba84e 100755 --- a/site/plugins/admin/gulpfile.js +++ b/site/plugins/admin/gulpfile.js @@ -1,6 +1,6 @@ // // Flextype Admin Gulp.js -// (c) Sergey Romanenko +// (c) Sergey Romanenko // var Promise = require("es6-promise").Promise, diff --git a/site/plugins/admin/lang/af_ZA.json b/site/plugins/admin/lang/af_ZA.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/af_ZA.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ar_SA.json b/site/plugins/admin/lang/ar_SA.json new file mode 100644 index 00000000..e820df8b --- /dev/null +++ b/site/plugins/admin/lang/ar_SA.json @@ -0,0 +1,207 @@ +{ + "admin": "المُدير", + "admin_cancel": "إلغاء", + "admin_create": "إنشاء", + "admin_debugging": "وضع تصحيح الأخطاء", + "admin_email": "البريد الإلكتروني", + "admin_flextype_version": "نسخة Flextype", + "admin_information": "معلومات", + "admin_installed": "المثبت", + "admin_keywords": "كلمات مفتاحية", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "تسجيل الدخول", + "admin_entries": "عناصر", + "admin_extends": "تمديد", + "admin_plugins": "الإضافات", + "admin_themes": "الثيمات", + "admin_help": "المساعدة", + "admin_getting_help": "الحصول على مساعدة", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "تسجيل الخروج", + "admin_profile": "الملفّ الشّخصي", + "admin_view_site": "عرض الموقع", + "admin_snippets": "أكواد", + "admin_not_installed": "غير مثبت", + "admin_off": "إيقاف", + "admin_on": "تشغيل", + "admin_add": "أضف", + "admin_entry_attributes": "سمات الادخال", + "admin_fieldset_for_template": "مجموعة الحقول للقالب", + "admin_content": "المحتوى", + "admin_create_new_entry": "إنشاء مدخل جديد", + "admin_date": "التاريخ", + "admin_draft": "مسودة", + "admin_edit": "تعديل", + "admin_blocks": "المحظورون", + "admin_media": "وسائط", + "admin_settings": "الإعدادات", + "admin_templates": "قوالب", + "admin_entry": "مدخل", + "admin_fieldset": "حقول", + "admin_source": "المصدر", + "admin_upload": "رفع", + "admin_hidden": "مخفي", + "admin_image_preview": "معاينة الصورة (Automatic Translation)", + "admin_move": "نقل", + "admin_parent_entry": "دخول الأصل", + "admin_preview": "المعاينة", + "admin_publish": "نَشر", + "admin_rename": "إعادة تسمية", + "admin_save_entry": "حفظ الدخل", + "admin_template": "قالب", + "admin_title": "العنوان", + "admin_url": "الرابط", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ca_ES.json b/site/plugins/admin/lang/ca_ES.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/ca_ES.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/cs_CZ.json b/site/plugins/admin/lang/cs_CZ.json new file mode 100644 index 00000000..de92636e --- /dev/null +++ b/site/plugins/admin/lang/cs_CZ.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Zpět", + "admin_create": "Vytvořit", + "admin_debugging": "Zobrazování chybových hlášek", + "admin_email": "E-mail", + "admin_flextype_version": "Verze Flextype", + "admin_information": "Information", + "admin_installed": "Instalováno", + "admin_keywords": "Klíčová slova", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Přihlášení", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "Zobrazit web", + "admin_snippets": "Výstřižky kódu", + "admin_not_installed": "Není instalováno", + "admin_off": "zakázáno", + "admin_on": "povoleno", + "admin_add": "Přidat", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Obsah", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Datum", + "admin_draft": "Draft", + "admin_edit": "Upravit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Nastavení", + "admin_templates": "Šablony", + "admin_entry": "Entry", + "admin_fieldset": "Datové pole", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Přesunout", + "admin_parent_entry": "Entry parent", + "admin_preview": "Náhled", + "admin_publish": "Publish", + "admin_rename": "Přejmenovat", + "admin_save_entry": "Save entry", + "admin_template": "Šablona", + "admin_title": "Název", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Viditelnost", + "admin_visible": "Visible", + "admin_password": "Heslo", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Popis", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Uložit", + "admin_security_check_results": "Výsledek bezpečnostního testu", + "admin_security_check_results_debug": "Zobrazování chybových hlášek představuje velké bezpečnostní riziko. Proto důrazně doporučujeme na produkčním webu zobrazování chybových hlášek zakázat!", + "admin_security_check_results_htaccess": "Soubor .htaccess je zapisovatelný. Doporučujeme odstranit všechna práva k zápisu.
Na unix systémech to můžete udělat pomocí příkazu: chmod a-w :path", + "admin_security_check_results_index": "Soubor index.php je zapisovatelný. Doporučujeme odstranit všechna práva k zápisu.
Na unix systémech to můžete udělat pomocí příkazu: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Uživatelské jméno", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Datová pole", + "admin_template_create_new": "Vytvořit novou šablonu", + "admin_create_new_fieldset": "Vytvořit nové datové pole", + "admin_duplicate": "Duplikovat", + "admin_summary": "Souhrn", + "admin_snippet": "Výstřižek kódu", + "admin_type": "Typ", + "admin_partial": "Partial", + "admin_clone": "Duplikovat", + "admin_create_new_snippet": "Vytvořit nový výstřižek kódu", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Vytvořit novou šablonu", + "admin_message_template_created": "Šablona byla vytvořena", + "admin_message_template_deleted": "Šablona byla odstraněna", + "admin_message_template_renamed": "Šablona byla přejmenována", + "admin_message_template_duplicated": "Šablona byla duplikována", + "admin_message_template_saved": "Šablona byla uložena", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Výstřižek kódu uložen", + "admin_message_snippet_created": "Výstřižek kódu vytvořen", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Výstřižek kódu odstraněn", + "admin_message_snippet_renamed": "Výstřižek kódu přejmenován", + "admin_message_snippet_duplicated": "Výstřižek kódu duplikován", + "admin_message_fieldset_saved": "Datové pole uloženo", + "admin_message_fieldset_created": "Datové pole vytvořeno", + "admin_message_fieldset_deleted": "Datové pole odstraněno", + "admin_message_fieldset_renamed": "Datové pole přejmenováno", + "admin_message_fieldset_duplicated": "Datové pole duplikováno", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Soubory cache byly odstraněny", + "admin_message_entry_changes_saved": "Změny byly uloženy", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Stránka byla duplikována", + "admin_message_entry_created": "Stránka byla vytvořena", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Stránka byla odstraněna", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "Soubor byl odstraněn", + "admin_message_entry_file_uploaded": "Soubor byl v pořádku nahrán", + "admin_message_entry_file_not_uploaded": "Soubor nebyl nahrán", + "admin_message_entry_moved": "Stránka byla přesunuta", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Stránka byla přejmenována", + "admin_message_settings_saved": "Nastavení uloženo", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Špatné uživatelské jméno nebo heslo", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Vložený kód", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Zkopírovat", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Jméno", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/da_DK.json b/site/plugins/admin/lang/da_DK.json new file mode 100644 index 00000000..2030ee36 --- /dev/null +++ b/site/plugins/admin/lang/da_DK.json @@ -0,0 +1,207 @@ +{ + "admin": "Administrator", + "admin_cancel": "Fortryd", + "admin_create": "Opret", + "admin_debugging": "Debugging", + "admin_email": "E-mail", + "admin_flextype_version": "Flextype version", + "admin_information": "Information", + "admin_installed": "Installeret", + "admin_keywords": "Søgeord", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Log på", + "admin_entries": "Poster", + "admin_extends": "Udvider", + "admin_plugins": "Plugins", + "admin_themes": "Temaer", + "admin_help": "Hjælp", + "admin_getting_help": "Få hjælp", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Log ud", + "admin_profile": "Profil", + "admin_view_site": "Vis websted", + "admin_snippets": "Snippets", + "admin_not_installed": "Ikke installeret", + "admin_off": "Af", + "admin_on": "Til", + "admin_add": "Tilføj", + "admin_entry_attributes": "Indtastningsattributter", + "admin_fieldset_for_template": "Fieldset til skabelon", + "admin_content": "Indhold", + "admin_create_new_entry": "Opret ny post", + "admin_date": "Dato", + "admin_draft": "Kladde", + "admin_edit": "Rediger", + "admin_blocks": "Blokke", + "admin_media": "Medier", + "admin_settings": "Indstillinger", + "admin_templates": "Skabeloner", + "admin_entry": "Post", + "admin_fieldset": "Feltsæt", + "admin_source": "Kilde", + "admin_upload": "Upload", + "admin_hidden": "Skjult", + "admin_image_preview": "Billedeeksermpel", + "admin_move": "Flyt", + "admin_parent_entry": "Postens parent", + "admin_preview": "Forhåndsvisning", + "admin_publish": "Udgiv", + "admin_rename": "Omdøb", + "admin_save_entry": "Gem post", + "admin_template": "Skabelon", + "admin_title": "Titel", + "admin_url": "Url", + "admin_view": "Vis", + "admin_visibility": "Synlighed", + "admin_visible": "Synlig", + "admin_password": "Kodeord", + "admin_php_built_on": "PHP bygget den", + "admin_php_version": "PHP-version", + "admin_author_url": "Forfatter url", + "admin_bugs": "Fejl", + "admin_description": "Beskriveslse", + "admin_get_more_plugins": "Installer flere udvidelser", + "admin_homepage": "Hjemmeside", + "admin_info": "Info", + "admin_license": "Licens", + "admin_status": "Status", + "admin_disabled": "deaktiveret", + "admin_enabled": "aktiveret", + "admin_version": "Version", + "admin_role": "Rolle", + "admin_save": "Gem", + "admin_security_check_results": "Sikkerhedstjek resultater", + "admin_security_check_results_debug": "På grund af mængden af infomationer en fejl kan give hackere når DISPLAY ERRORS TRUE, anbefaler vi kraftigt at sætte DISPLAY ERRORS FALSE på produktions systemer.", + "admin_security_check_results_htaccess": "Flextype .htaccess filen er fundet skrivebar. Vi anbefaler at du fjerner alle skrive rettigheder.
Du kan gøre dette på UNIX systemer med: chmod a-w :path", + "admin_security_check_results_index": "Flextype index.php filen er fundet skrivebar. Vi anbefaler at du fjerner alle skrive rettigheder.
Du kan gøre dette på UNIX systemer med: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Webside", + "admin_clear_cache": "Ryd cache", + "admin_error404_title": "Fejl404 post titel", + "admin_error404_description": "Fejl404 post beskrivelse", + "admin_error404_content": "Fejl404 post indhold", + "admin_error404_template": "Fejl404 post skabelon", + "admin_heading": "Indstillinger", + "admin_general": "Generelt", + "admin_error_404_page": "Fejl 404 side", + "admin_cache": "Cache", + "admin_author_email": "Forfatter e-mail", + "admin_author_name": "Forfatter navn", + "admin_site_description": "Hjemmesidens beskrivelse", + "admin_site_keywords": "Hjemmesidens søgeord", + "admin_site_robots": "Robotter", + "admin_site_title": "Hjemmesidens titel", + "admin_system": "System", + "admin_cache_driver": "Cache-driver", + "admin_cache_enabled": "Cache slået til", + "admin_cache_lifetime": "Cache levetid", + "admin_cache_prefix": "Cache-præfiks", + "admin_charset": "Tegnsæt", + "admin_date_format": "Datoformat", + "admin_errors_display": "Vis fejl", + "admin_locale": "Landestandard", + "admin_entry_main": "Hoved post", + "admin_theme": "Tema", + "admin_timezone": "Tidszone", + "admin_username": "Brugernavn", + "admin_create_user": "Opret bruger", + "admin_create_new_user": "Opret ny bruger", + "admin_web_server": "Webserver", + "admin_web_server_php_interface": "WebServer til PHP Interface", + "admin_create_new_category": "Opret ny kategori", + "admin_delete_category": "Slet kategori", + "admin_create_new_item": "Opret ny", + "admin_delete": "Slet", + "admin_order": "Rækkefølge", + "admin_edit_category": "Rediger kategori", + "admin_fieldsets": "Feltsæt", + "admin_template_create_new": "Opret ny skabelon", + "admin_create_new_fieldset": "Oprette nyt feltsæt", + "admin_duplicate": "Dupliker", + "admin_summary": "Resumé", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Delvis", + "admin_clone": "Klon", + "admin_create_new_snippet": "Opret ny Snippet", + "admin_message_snippet_was_not_deleted": "Snippet blev ikke slettet", + "admin_message_snippet_was_not_renamed": "Snippet blev ikke omdøbt", + "admin_message_snippet_was_not_duplicated": "Snippet blev ikke duplikeret", + "admin_message_snippet_was_not_saved": "Snippet blev ikke gemt", + "admin_create_new_template": "Opret ny skabelon", + "admin_message_template_created": "Skabelon oprettet", + "admin_message_template_deleted": "Skabelon slettet", + "admin_message_template_renamed": "Skabelon omdøbt", + "admin_message_template_duplicated": "Skabelon duplikeret", + "admin_message_template_saved": "Skabelon gemt", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet gemt", + "admin_message_snippet_created": "Snippet oprettet", + "admin_message_snippet_was_not_created": "Snippet blev ikke oprettet", + "admin_message_snippet_deleted": "Snippet slettet", + "admin_message_snippet_renamed": "Snippet omdøbt", + "admin_message_snippet_duplicated": "Snippet duplikeret", + "admin_message_fieldset_saved": "Feltsæt gemt", + "admin_message_fieldset_created": "Feltsæt oprettet", + "admin_message_fieldset_deleted": "Feltsæt slettet", + "admin_message_fieldset_renamed": "Feltsæt omdøbt", + "admin_message_fieldset_duplicated": "Feltsæt duplikeret", + "admin_message_entry_duplicated": "Post duplikeret", + "admin_message_entry_was_not_duplicated": "Post blev ikke duplikeret", + "admin_message_cache_files_deleted": "Cache filer slettet", + "admin_message_entry_changes_saved": "Ændringerne blev gemt", + "admin_message_entry_changes_not_saved": "Ændringerne blev ikke gemt", + "admin_message_entry_cloned": "Post klonet", + "admin_message_entry_created": "Post oprettet", + "admin_message_entry_was_not_created": "Posten blev ikke oprettet", + "admin_message_entry_deleted": "Post slettet", + "admin_message_entry_was_not_renamed": "Posten blev ikke omdøbt", + "admin_message_entry_was_not_deleted": "Posten blev ikke slettet", + "admin_message_entry_file_deleted": "Fil slettet korrekt", + "admin_message_entry_file_uploaded": "Filen blev uploadet korrekt", + "admin_message_entry_file_not_uploaded": "Filen bliver ikke uploaded", + "admin_message_entry_moved": "Post flyttet", + "admin_message_entry_was_not_moved": "Posten blev ikke flyttet", + "admin_message_entry_renamed": "Post omdøbt", + "admin_message_settings_saved": "Indstillinger gemt", + "admin_message_settings_was_not_saved": "Indstillinger blev ikke gemt", + "admin_message_wrong_username_password": "Forkert brugernavn eller adgangskode", + "admin_quality": "Kvalitet", + "admin_width": "Bredde", + "admin_height": "Højde", + "admin_accept_file_types": "Acceptér filtyper", + "admin_embeded_code": "Indkapslet kode", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP-kode", + "admin_choose_files_to_upload": "Vælg fil", + "admin_browse_files": "Gennemse", + "admin_copy": "Kopier", + "admin_admin_panel": "Administrationspanel", + "admin_light": "Lys", + "admin_dark": "Mørk", + "admin_name": "Navn", + "admin_memcached_server": "Memcachet-server", + "admin_memcached_port": "Memcache-port", + "admin_redis_socket": "Redis socket", + "admin_redis_password": "Redis adgangskode", + "admin_redis_server": "Redis-server", + "admin_redis_port": "Redis-port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 tabel", + "admin_error_name_empty_input": "Navnet skal være en alfanumerisk værdi (fra 1 tegn)", + "admin_error_title_empty_input": "Titlen skal være en alfanumerisk værdi (fra 1 tegn)", + "admin_entries_visible": "Synlig", + "admin_entries_draft": "Kladde", + "admin_entries_hidden": "Skjult", + "admin_menu_item_title": "Titel", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Destination", + "admin_menu_item_order": "Rækkefølge", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/de_DE.json b/site/plugins/admin/lang/de_DE.json new file mode 100644 index 00000000..798b9361 --- /dev/null +++ b/site/plugins/admin/lang/de_DE.json @@ -0,0 +1,207 @@ +{ + "admin": "Administrator", + "admin_cancel": "Abbrechen", + "admin_create": "Erstellen", + "admin_debugging": "Debuggen", + "admin_email": "E-Mail", + "admin_flextype_version": "Flextype Version", + "admin_information": "Informationen", + "admin_installed": "Installiert", + "admin_keywords": "Schlagwörter", + "admin_documentation": "Dokumentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Einträge", + "admin_extends": "Erweiterungen", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Hilfe", + "admin_getting_help": "Dokumentation", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Ausloggen", + "admin_profile": "Profil", + "admin_view_site": "Seite ansehen", + "admin_snippets": "Schnipsel", + "admin_not_installed": "Nicht installiert", + "admin_off": "Aus", + "admin_on": "An", + "admin_add": "Hinzufügen", + "admin_entry_attributes": "Eintragsattribute", + "admin_fieldset_for_template": "Fieldset für Vorlage", + "admin_content": "Inhalt", + "admin_create_new_entry": "Neuen Eintrag erstellen", + "admin_date": "Datum", + "admin_draft": "Entwurf", + "admin_edit": "Bearbeiten", + "admin_blocks": "Blöcke", + "admin_media": "Medien", + "admin_settings": "Einstellungen", + "admin_templates": "Vorlagen", + "admin_entry": "Eintrag", + "admin_fieldset": "Felder", + "admin_source": "Quelle", + "admin_upload": "Hochladen", + "admin_hidden": "Versteckt", + "admin_image_preview": "Bildvorschau", + "admin_move": "Verschieben", + "admin_parent_entry": "Übergeordneter Eintrag", + "admin_preview": "Vorschau", + "admin_publish": "Veröffentlichen", + "admin_rename": "Umbenennen", + "admin_save_entry": "Eintrag speichern", + "admin_template": "Vorlage", + "admin_title": "Titel", + "admin_url": "Url", + "admin_view": "Ansehen", + "admin_visibility": "Sichtbarkeit", + "admin_visible": "Sichtbar", + "admin_password": "Passwort", + "admin_php_built_on": "Basiert auf PHP", + "admin_php_version": "PHP Version", + "admin_author_url": "Autor Url", + "admin_bugs": "Fehler", + "admin_description": "Beschreibung", + "admin_get_more_plugins": "Mehr Plugins finden", + "admin_homepage": "Startseite", + "admin_info": "Info", + "admin_license": "Lizenz", + "admin_status": "Status", + "admin_disabled": "deaktiviert", + "admin_enabled": "aktiviert", + "admin_version": "Version", + "admin_role": "Rolle", + "admin_save": "Speichern", + "admin_security_check_results": "Ergebnisse der Sicherheitsprüfung", + "admin_security_check_results_debug": "Aufgrund des Typs und der Menge an Informationen die das Anzeigen von Fehlern an böswillige Besucher ausgeben könnte empfehlen wir ausdrücklich auf Produktivinstallationen diese Option zu deaktivieren.", + "admin_security_check_results_htaccess": "Die Flextype .htaccess Datei ist schreibbar. Wir empfehlen alle Schreib-Berechtigungen zu entfernen. Du kannst dies auf Unix-Systemen mit \"chmod a-w :path\" tun.", + "admin_security_check_results_index": "Die Flextype index.php Datei ist schreibbar. Wir empfehlen alle Schreib-Berechtigungen zu entfernen. Du kannst dies auf Unix-Systemen mit \"chmod a-w :path\" tun.", + "admin_server": "Server", + "admin_site": "Seite", + "admin_clear_cache": "Cache löschen", + "admin_error404_title": "Fehler 404 Eintrag Titel", + "admin_error404_description": "Fehler 404 Eintrag Beschreibung", + "admin_error404_content": "Fehler 404 Eintrag Inhalt", + "admin_error404_template": "Fehler 404 Eintrag Vorlage", + "admin_heading": "Einstellungen", + "admin_general": "Allgemein", + "admin_error_404_page": "Fehler 404 Eintrag", + "admin_cache": "Cache", + "admin_author_email": "Autor E-Mail", + "admin_author_name": "Autor Name", + "admin_site_description": "Seitenbeschreibung", + "admin_site_keywords": "Seitenschlagwörter", + "admin_site_robots": "Robots", + "admin_site_title": "Seitentitel", + "admin_system": "System", + "admin_cache_driver": "Cachetreiber", + "admin_cache_enabled": "Cache aktiviert", + "admin_cache_lifetime": "Cache Lebenszeit", + "admin_cache_prefix": "Cache Prefix", + "admin_charset": "Zeichensatz", + "admin_date_format": "Datumsformat", + "admin_errors_display": "Fehler anzeigen", + "admin_locale": "Sprache", + "admin_entry_main": "Startseite", + "admin_theme": "Theme", + "admin_timezone": "Zeitzone", + "admin_username": "Benutzername", + "admin_create_user": "Benutzer erstellen", + "admin_create_new_user": "Neuen Benutzer anlegen", + "admin_web_server": "Webserver", + "admin_web_server_php_interface": "PHP-Schnittstelle", + "admin_create_new_category": "Neue Kategorie anlegen", + "admin_delete_category": "Kategorie löschen", + "admin_create_new_item": "Neuen Eintrag erstellen", + "admin_delete": "Löschen", + "admin_order": "Reihenfolge", + "admin_edit_category": "Kategorie bearbeiten", + "admin_fieldsets": "Felder", + "admin_template_create_new": "Neue Vorlage erstellen", + "admin_create_new_fieldset": "Neues Fieldset erstellen", + "admin_duplicate": "Duplizieren", + "admin_summary": "Zusammenfassung", + "admin_snippet": "Schnipsel", + "admin_type": "Typ", + "admin_partial": "Blöcke", + "admin_clone": "Duplizieren", + "admin_create_new_snippet": "Neuen Schnipsel erstellen", + "admin_message_snippet_was_not_deleted": "Snippet wurde nicht gelöscht", + "admin_message_snippet_was_not_renamed": "Snippet wurde nicht umbenannt", + "admin_message_snippet_was_not_duplicated": "Snippet wurde nicht dupliziert", + "admin_message_snippet_was_not_saved": "Snippet wurde nicht gespeichert", + "admin_create_new_template": "Neue Vorlage erstellen", + "admin_message_template_created": "Vorlage erstellt", + "admin_message_template_deleted": "Vorlage gelöscht", + "admin_message_template_renamed": "Vorlage umbenannt", + "admin_message_template_duplicated": "Vorlage dupliziert", + "admin_message_template_saved": "Vorlage gespeichert", + "admin_message_template_was_not_created": "Template wurde nicht umbenannt", + "admin_message_partial_was_not_created": "Block wurde nicht umbenannt", + "admin_message_partial_created": "Block erstellt", + "admin_message_partial_deleted": "Block gelöscht", + "admin_message_partial_was_not_deleted": "Block wurde nicht gelöscht", + "admin_message_snippet_saved": "Schnipsel gespeichert", + "admin_message_snippet_created": "Schnipsel erstellt", + "admin_message_snippet_was_not_created": "Snippet wurde nicht erstellt", + "admin_message_snippet_deleted": "Schnipsel gelöscht", + "admin_message_snippet_renamed": "Schnipsel umbenannt", + "admin_message_snippet_duplicated": "Schnipsel dupliziert", + "admin_message_fieldset_saved": "Fieldset gespeichert", + "admin_message_fieldset_created": "Fieldset erstellt", + "admin_message_fieldset_deleted": "Fieldset gelöscht", + "admin_message_fieldset_renamed": "Fieldset umbenannt", + "admin_message_fieldset_duplicated": "Fieldset dupliziert", + "admin_message_entry_duplicated": "Eintrag dupliziert", + "admin_message_entry_was_not_duplicated": "Eintrag wurde nicht dupliziert", + "admin_message_cache_files_deleted": "Cache Dateien gelöscht", + "admin_message_entry_changes_saved": "Änderungen erfolgreich gespeichert", + "admin_message_entry_changes_not_saved": "Änderungen nicht gespeichert", + "admin_message_entry_cloned": "Eintrag dupliziert", + "admin_message_entry_created": "Eintrag erstellt", + "admin_message_entry_was_not_created": "Eintrag wurde nicht erstellt", + "admin_message_entry_deleted": "Eintrag gelöscht", + "admin_message_entry_was_not_renamed": "Eintrag wurde nicht umbenannt", + "admin_message_entry_was_not_deleted": "Eintrag wurde nicht gelöscht", + "admin_message_entry_file_deleted": "Datei erfolgreich gelöscht", + "admin_message_entry_file_uploaded": "Datei erfolgreich hochgeladen", + "admin_message_entry_file_not_uploaded": "Datei konnte nicht hochgeladen werden", + "admin_message_entry_moved": "Eintrag verschoben", + "admin_message_entry_was_not_moved": "Eintrag wurde nicht verschoben", + "admin_message_entry_renamed": "Eintrag umbenannt", + "admin_message_settings_saved": "Einstellungen gespeichert", + "admin_message_settings_was_not_saved": "Einstellungen wurden nicht gespeichert", + "admin_message_wrong_username_password": "Benutzername oder Passwort falsch", + "admin_quality": "Qualität", + "admin_width": "Breite", + "admin_height": "Höhe", + "admin_accept_file_types": "Erlaubte Dateitypen", + "admin_embeded_code": "Eingebetteter Code", + "admin_shortcode": "Kurzcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Datei auswählen", + "admin_browse_files": "Durchsuchen", + "admin_copy": "Kopieren", + "admin_admin_panel": "Admin Panel", + "admin_light": "Hell", + "admin_dark": "Dunkel", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Passwort", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Datenbank", + "admin_sqlite3_table": "SQLite3 Tabelle", + "admin_error_name_empty_input": "Name muss ein alphanumerischer Wert sein (mindestens 1 Zeichen)", + "admin_error_title_empty_input": "Titel muss ein alphanumerischer Wert sein (mindestens 1 Zeichen)", + "admin_entries_visible": "Sichtbar", + "admin_entries_draft": "Entwurf", + "admin_entries_hidden": "Versteckt", + "admin_menu_item_title": "Titel", + "admin_menu_item_url": "URL", + "admin_menu_item_target": "Ziel", + "admin_menu_item_order": "Reihenfolge", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/el_GR.json b/site/plugins/admin/lang/el_GR.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/el_GR.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/en_US.json b/site/plugins/admin/lang/en_US.json new file mode 100755 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/en_US.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/es_ES.json b/site/plugins/admin/lang/es_ES.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/es_ES.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/fi_FI.json b/site/plugins/admin/lang/fi_FI.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/fi_FI.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/fi_FI.yaml b/site/plugins/admin/lang/fi_FI.yaml new file mode 100644 index 00000000..d66d8a70 --- /dev/null +++ b/site/plugins/admin/lang/fi_FI.yaml @@ -0,0 +1,197 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order" +} diff --git a/site/plugins/admin/lang/fr_FR.json b/site/plugins/admin/lang/fr_FR.json new file mode 100644 index 00000000..f062e7ca --- /dev/null +++ b/site/plugins/admin/lang/fr_FR.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Annuler", + "admin_create": "Créer", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Version Flextype", + "admin_information": "Information", + "admin_installed": "Installée", + "admin_keywords": "Mots clés", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Connexion", + "admin_entries": "Entrées", + "admin_extends": "Etendre", + "admin_plugins": "Extensions", + "admin_themes": "Thèmes", + "admin_help": "Aide", + "admin_getting_help": "Obtenir de l'aide", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Déconnexion", + "admin_profile": "Profil", + "admin_view_site": "Voir le site", + "admin_snippets": "Snippets", + "admin_not_installed": "Non installée", + "admin_off": "Désactivé", + "admin_on": "Activé", + "admin_add": "Ajouter", + "admin_entry_attributes": "Attributs d'entrée", + "admin_fieldset_for_template": "Champ pour le modèle", + "admin_content": "Contenu", + "admin_create_new_entry": "Créer une nouvelle entrée", + "admin_date": "La date", + "admin_draft": "Draft", + "admin_edit": "Éditer", + "admin_blocks": "Blocs", + "admin_media": "Média", + "admin_settings": "Réglages", + "admin_templates": "Modèles", + "admin_entry": "Entrée", + "admin_fieldset": "Champ", + "admin_source": "Source", + "admin_upload": "Envoyer", + "admin_hidden": "Caché", + "admin_image_preview": "Prévisualisation de l'image", + "admin_move": "Déplacer", + "admin_parent_entry": "Parent d'entrée", + "admin_preview": "Aperçu", + "admin_publish": "Publier", + "admin_rename": "Renommer", + "admin_save_entry": "Enregistrer l'entrée", + "admin_template": "Modèle", + "admin_title": "Titre", + "admin_url": "URL", + "admin_view": "Vue", + "admin_visibility": "Visibilité", + "admin_visible": "Visible", + "admin_password": "Mot de passe", + "admin_php_built_on": "PHP construit sur", + "admin_php_version": "Version PHP", + "admin_author_url": "URL de l'auteur", + "admin_bugs": "Bogues", + "admin_description": "Description", + "admin_get_more_plugins": "Obtenir plus d'extensions", + "admin_homepage": "Page d'accueil", + "admin_info": "Informations", + "admin_license": "License", + "admin_status": "Statut", + "admin_disabled": "désactivé", + "admin_enabled": "activé", + "admin_version": "Version", + "admin_role": "Rôle", + "admin_save": "Sauvegarder", + "admin_security_check_results": "Résultats de vérification de sécurité", + "admin_security_check_results_debug": "En raison du type et de la quantité d'informations, une erreur peut donner aux intrus lorsque DISPLAY ERRORS TRUE, nous recommandons fortement de définir DISPLAY ERRORS FALSE dans les systèmes de production.", + "admin_security_check_results_htaccess": "Le fichier Flextype .htaccess a été trouvé accessible en écriture. Nous vous conseillons de supprimer toutes les permissions d'écriture.
Vous pouvez le faire sur des systèmes unix avec : chmod a-w :path", + "admin_security_check_results_index": "Le fichier Flextype index.php a été trouvé accessible en écriture. Nous vous conseillons de supprimer toutes les permissions d'écriture.
Vous pouvez le faire sur des systèmes unix avec : chmod a-w :path", + "admin_server": "Serveur", + "admin_site": "Site", + "admin_clear_cache": "Vider le cache", + "admin_error404_title": "Titre d'entrée erreur 404", + "admin_error404_description": "Desciption de l'entrée erreur 404", + "admin_error404_content": "Contenu de l'entrée erreur 404", + "admin_error404_template": "Modèle d'entrée erreur 404", + "admin_heading": "Paramètres", + "admin_general": "Général", + "admin_error_404_page": "Page erreur 404", + "admin_cache": "Cache", + "admin_author_email": "E-mail de l'auteur", + "admin_author_name": "Nom de l'auteur", + "admin_site_description": "Description du site", + "admin_site_keywords": "Mots-clés du site", + "admin_site_robots": "Robots", + "admin_site_title": "Titre du site", + "admin_system": "Système", + "admin_cache_driver": "Pilote du cache", + "admin_cache_enabled": "Cache activé", + "admin_cache_lifetime": "Durée de vie du cache", + "admin_cache_prefix": "Préfixe du cache", + "admin_charset": "Jeu de caractères", + "admin_date_format": "Format de la date", + "admin_errors_display": "Afficher les erreurs", + "admin_locale": "Locale", + "admin_entry_main": "Entrée principale", + "admin_theme": "Thème", + "admin_timezone": "Fuseau horaire", + "admin_username": "Nom d'utilisateur", + "admin_create_user": "Créer un utilisateur", + "admin_create_new_user": "Créer un nouvel utilisateur", + "admin_web_server": "Serveur Web", + "admin_web_server_php_interface": "Du serveur Web à l'interface PHP", + "admin_create_new_category": "Créer une nouvelle catégorie", + "admin_delete_category": "Supprimer la catégorie", + "admin_create_new_item": "Créer un nouvel élément", + "admin_delete": "Supprimer", + "admin_order": "Commande", + "admin_edit_category": "Modifier la catégorie", + "admin_fieldsets": "Champs", + "admin_template_create_new": "Créer un nouveau modèle", + "admin_create_new_fieldset": "Créer un nouveau champ", + "admin_duplicate": "Dupliquer", + "admin_summary": "Résumé", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partiel", + "admin_clone": "Cloner", + "admin_create_new_snippet": "Créer un noueau snippet", + "admin_message_snippet_was_not_deleted": "Le snippet n'a pas été supprimé", + "admin_message_snippet_was_not_renamed": "Le snippet n'a pas été renommé", + "admin_message_snippet_was_not_duplicated": "Le snippet n'a pas été dupliqué", + "admin_message_snippet_was_not_saved": "Le snippet n'a pas été enregistré", + "admin_create_new_template": "Créer un nouveau modèle", + "admin_message_template_created": "Modèle créé", + "admin_message_template_deleted": "Modèle supprimé", + "admin_message_template_renamed": "Modèle renommé", + "admin_message_template_duplicated": "Modèle dupliqué", + "admin_message_template_saved": "Modèle enregistré", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet enregistré", + "admin_message_snippet_created": "Snippet créé", + "admin_message_snippet_was_not_created": "Snippet n'a pas été créé", + "admin_message_snippet_deleted": "Snippet supprimé", + "admin_message_snippet_renamed": "Snippet renommé", + "admin_message_snippet_duplicated": "Snippet dupliqué", + "admin_message_fieldset_saved": "Champ sauvegardé", + "admin_message_fieldset_created": "Champ créé", + "admin_message_fieldset_deleted": "Champ supprimé", + "admin_message_fieldset_renamed": "Champ renommé", + "admin_message_fieldset_duplicated": "Champ dupliqué", + "admin_message_entry_duplicated": "Entrée dupliquée", + "admin_message_entry_was_not_duplicated": "L'entrée n'a pas été dupliquée", + "admin_message_cache_files_deleted": "Fichiers de cache supprimés", + "admin_message_entry_changes_saved": "Modifications enregistrées avec succès", + "admin_message_entry_changes_not_saved": "Modifications non enregistrées", + "admin_message_entry_cloned": "Entrée clonée", + "admin_message_entry_created": "Entrée créée", + "admin_message_entry_was_not_created": "L'entrée n'a pas été créée", + "admin_message_entry_deleted": "Entrée supprimée", + "admin_message_entry_was_not_renamed": "L'entrée n'a pas été renommée", + "admin_message_entry_was_not_deleted": "L'entrée n'a pas été supprimée", + "admin_message_entry_file_deleted": "Fichier supprimée avec succès", + "admin_message_entry_file_uploaded": "Fichier téléchargé avec succès", + "admin_message_entry_file_not_uploaded": "Le fichier n'a pas été téléchargé", + "admin_message_entry_moved": "Entrée déplacée", + "admin_message_entry_was_not_moved": "L'entrée n'a pas été déplacée", + "admin_message_entry_renamed": "Entrée renommée", + "admin_message_settings_saved": "Paramètres enregistrés", + "admin_message_settings_was_not_saved": "Les paramètres n'ont pas été enregistrés", + "admin_message_wrong_username_password": "Mauvais nom d'uilisateur ou mot de passe", + "admin_quality": "Qualité", + "admin_width": "Largeur", + "admin_height": "Hauteur", + "admin_accept_file_types": "Accepter les types de fichier", + "admin_embeded_code": "Code intégré", + "admin_shortcode": "Raccourci", + "admin_php_code": "Code PHP", + "admin_choose_files_to_upload": "Choisir un fichier", + "admin_browse_files": "Parcourir", + "admin_copy": "Copier", + "admin_admin_panel": "Panneau d'administrateur", + "admin_light": "Clair", + "admin_dark": "Sombre", + "admin_name": "Nom", + "admin_memcached_server": "Serveur Memcached", + "admin_memcached_port": "Port Memcached", + "admin_redis_socket": "Socket Redis", + "admin_redis_password": "Mot de passe Redis", + "admin_redis_server": "Serveur Redis", + "admin_redis_port": "Port Redis", + "admin_sqlite3_database": "Base de données SQLite3", + "admin_sqlite3_table": "Table SQLite3", + "admin_error_name_empty_input": "Le nom doit être une valeur alphanumérique (à partir de 1 caractère)", + "admin_error_title_empty_input": "Le titre doit être une valeur alphanumérique (à partir de 1 caractère)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Brouillon", + "admin_entries_hidden": "Caché", + "admin_menu_item_title": "Titre", + "admin_menu_item_url": "URL", + "admin_menu_item_target": "Cible", + "admin_menu_item_order": "Commande", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/he_IL.json b/site/plugins/admin/lang/he_IL.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/he_IL.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/hr_HR.json b/site/plugins/admin/lang/hr_HR.json new file mode 100644 index 00000000..b9762536 --- /dev/null +++ b/site/plugins/admin/lang/hr_HR.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Otkaži", + "admin_create": "Stvori", + "admin_debugging": "Otklanjanje grešaka", + "admin_email": "Email", + "admin_flextype_version": "Flextype Verzija", + "admin_information": "Informacija", + "admin_installed": "Instalirano", + "admin_keywords": "Ključne riječi", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Prijava", + "admin_entries": "Unosi", + "admin_extends": "Proširuje", + "admin_plugins": "Dodaci", + "admin_themes": "Teme", + "admin_help": "Pomoć", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Odjava", + "admin_profile": "Profil", + "admin_view_site": "Vidi Sajt", + "admin_snippets": "Svaštice", + "admin_not_installed": "Nije instalirano", + "admin_off": "Isključeno", + "admin_on": "Uključeno", + "admin_add": "Dodaj", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Sadržaj", + "admin_create_new_entry": "Stvori novi", + "admin_date": "Datum", + "admin_draft": "Skica", + "admin_edit": "Uredi", + "admin_blocks": "Blokovi", + "admin_media": "Media", + "admin_settings": "Postavke", + "admin_templates": "Predlošci", + "admin_entry": "Unos", + "admin_fieldset": "Skup polja", + "admin_source": "Izvor", + "admin_upload": "Postavljanje", + "admin_hidden": "Skriveno", + "admin_image_preview": "Pregled slike", + "admin_move": "Pomakni", + "admin_parent_entry": "Entry parent", + "admin_preview": "Pregled", + "admin_publish": "Objavi", + "admin_rename": "Preimenuj", + "admin_save_entry": "Sačuvaj", + "admin_template": "Predložak", + "admin_title": "Ime", + "admin_url": "Link", + "admin_view": "Pogledaj", + "admin_visibility": "Vidljivost", + "admin_visible": "Vidljivo", + "admin_password": "Lozinka", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP verzija", + "admin_author_url": "Link Autora", + "admin_bugs": "Greške", + "admin_description": "Opis", + "admin_get_more_plugins": "Nabavi više dodataka", + "admin_homepage": "Početna stranica", + "admin_info": "Info", + "admin_license": "Licenca", + "admin_status": "Status", + "admin_disabled": "onemogućeno", + "admin_enabled": "omogućeno", + "admin_version": "Verzija", + "admin_role": "Uloga", + "admin_save": "Sačuvaj", + "admin_security_check_results": "Rezultati sigurnosne provjere", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Sajt", + "admin_clear_cache": "Očisti cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Postavke", + "admin_general": "Generalno", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "email autora", + "admin_author_name": "Ime autora", + "admin_site_description": "Opis stranice", + "admin_site_keywords": "Ključne riječi stranice", + "admin_site_robots": "Roboti", + "admin_site_title": "Ime sajta", + "admin_system": "Sustav", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache je omogućen", + "admin_cache_lifetime": "Životni vijek predmemorije", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Format datuma", + "admin_errors_display": "Prikaži greške", + "admin_locale": "Jezik", + "admin_entry_main": "Glavni unos", + "admin_theme": "Tema", + "admin_timezone": "Vremenska zona", + "admin_username": "Korisničko ime", + "admin_create_user": "Stvori korisnika", + "admin_create_new_user": "Stvori novog korisnika", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Sučelje", + "admin_create_new_category": "Stvori novu kategoriju", + "admin_delete_category": "Obriši kategoriju", + "admin_create_new_item": "Stvori novu stavku", + "admin_delete": "Obriši", + "admin_order": "Redoslijed", + "admin_edit_category": "Uredi kategoriju", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Stvori novi predložak", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Dupliciraj", + "admin_summary": "Sažetak", + "admin_snippet": "Svaštica", + "admin_type": "Tip", + "admin_partial": "Partial", + "admin_clone": "Kloniraj", + "admin_create_new_snippet": "Stvori novu svašticu", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Stvori novi predložak", + "admin_message_template_created": "Predložak je stvoren", + "admin_message_template_deleted": "Predložak je obrisan", + "admin_message_template_renamed": "Predložak je preimenovan", + "admin_message_template_duplicated": "Predložak je dupliciran", + "admin_message_template_saved": "Predložak je sačuvan", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Svaštica je sačuvana", + "admin_message_snippet_created": "Svaštica je stvorena", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Svaštica je obrisana", + "admin_message_snippet_renamed": "Svaštica je preimenovana", + "admin_message_snippet_duplicated": "Svaštica je duplicirana", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Unos je dupliciran", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache fajlovi su obrisani", + "admin_message_entry_changes_saved": "Promjene su uspješno sačuvane", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Unos je kloniran", + "admin_message_entry_created": "Unos je stvoren", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Unos je obrisan", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "Fajl je uspješno obrisan", + "admin_message_entry_file_uploaded": "Fajl je uspješno uploadan", + "admin_message_entry_file_not_uploaded": "Fajl nije uploadan", + "admin_message_entry_moved": "Unos je premješten", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Unos je preimenovan", + "admin_message_settings_saved": "Postavke su sačuvane", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Pogrešno korisničko ime ili lozinka", + "admin_quality": "Kvaliteta", + "admin_width": "Širina", + "admin_height": "Visina", + "admin_accept_file_types": "Prihvati tipove podataka", + "admin_embeded_code": "Ugrađivanje koda", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP kod", + "admin_choose_files_to_upload": "Odaberi fajl", + "admin_browse_files": "Pretražuj", + "admin_copy": "Kopiraj", + "admin_admin_panel": "Administratorsko sučelje", + "admin_light": "Svjetla", + "admin_dark": "Tamna", + "admin_name": "Ime", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 databaza", + "admin_sqlite3_table": "SQLite3 Tablica", + "admin_error_name_empty_input": "Ime mora biti alfanumerička vrijednost", + "admin_error_title_empty_input": "Naslov mora biti alfanumerička vrijednost", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/hu_HU.json b/site/plugins/admin/lang/hu_HU.json new file mode 100644 index 00000000..a69c9f59 --- /dev/null +++ b/site/plugins/admin/lang/hu_HU.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Mégsem", + "admin_create": "Létrehozás", + "admin_debugging": "Hibakeresés", + "admin_email": "E-mail", + "admin_flextype_version": "Flextype verzió", + "admin_information": "Információ", + "admin_installed": "Telepített", + "admin_keywords": "Kulcsszavak", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Belépés", + "admin_entries": "Bejegyzések", + "admin_extends": "Extends", + "admin_plugins": "Pluginok", + "admin_themes": "Sablonok", + "admin_help": "Segítség", + "admin_getting_help": "Segítség", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Kilépés", + "admin_profile": "Profil", + "admin_view_site": "Honlap megtekintése", + "admin_snippets": "Beépülők", + "admin_not_installed": "Nincs telepítve", + "admin_off": "Ki", + "admin_on": "Be", + "admin_add": "Hozzáadás", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Tartalom", + "admin_create_new_entry": "Új bejegyzés létrehozása", + "admin_date": "Dátum", + "admin_draft": "Piszkozat", + "admin_edit": "Szerkesztés", + "admin_blocks": "Blokkok", + "admin_media": "Média", + "admin_settings": "Beállítások", + "admin_templates": "Sablonok", + "admin_entry": "Bejegyzés", + "admin_fieldset": "Mezőcsoport", + "admin_source": "Forrás", + "admin_upload": "Feltöltés", + "admin_hidden": "Rejtett", + "admin_image_preview": "Kép előnézete", + "admin_move": "Áthelyezés", + "admin_parent_entry": "Entry parent", + "admin_preview": "Előnézet", + "admin_publish": "Publikálás", + "admin_rename": "Átnevezés", + "admin_save_entry": "Bejegyzés mentése", + "admin_template": "Sablon", + "admin_title": "Cím", + "admin_url": "URL", + "admin_view": "Megtekintés", + "admin_visibility": "Láthatóság", + "admin_visible": "Látható", + "admin_password": "Jelszó", + "admin_php_built_on": "PHP telepítése", + "admin_php_version": "PHP verzió", + "admin_author_url": "Készítő URL", + "admin_bugs": "Hibák", + "admin_description": "Leírás", + "admin_get_more_plugins": "További pluginok beszerzése", + "admin_homepage": "Főoldal", + "admin_info": "Infó", + "admin_license": "Licensz", + "admin_status": "Állapot", + "admin_disabled": "kikapcsolva", + "admin_enabled": "bekapcsolva", + "admin_version": "Verzió", + "admin_role": "Jogosultságok", + "admin_save": "Mentés", + "admin_security_check_results": "Biztonsági ellenőrzés eredményei", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Szerver", + "admin_site": "Oldal", + "admin_clear_cache": "Gyorsítótár ürítése", + "admin_error404_title": "404-es oldal címe", + "admin_error404_description": "404-es oldal leírása", + "admin_error404_content": "404-es oldal tartalma", + "admin_error404_template": "404-es oldal sablonja", + "admin_heading": "Beállítások", + "admin_general": "Általános", + "admin_error_404_page": "404-es hiba oldal", + "admin_cache": "Gyorsítótár", + "admin_author_email": "Szerző e-mail", + "admin_author_name": "Szerző neve", + "admin_site_description": "Oldal leírása", + "admin_site_keywords": "Oldal kulcsszavai", + "admin_site_robots": "Robots", + "admin_site_title": "Oldal címe", + "admin_system": "Rendszer", + "admin_cache_driver": "Gyorsítótár meghajtó", + "admin_cache_enabled": "Gyorsítótár engedélyezve", + "admin_cache_lifetime": "Gyorsítótár élettartama", + "admin_cache_prefix": "Gyorsítótár előtag", + "admin_charset": "Karakterkészlet", + "admin_date_format": "Dátum formátum", + "admin_errors_display": "Hibák megjelenítése", + "admin_locale": "Nyelv", + "admin_entry_main": "Main entry", + "admin_theme": "Téma", + "admin_timezone": "Időzóna", + "admin_username": "Felhasználónév", + "admin_create_user": "Felhasználó létrehozása", + "admin_create_new_user": "Új Felhasználó", + "admin_web_server": "Webszerver", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Új kategória létrehozása", + "admin_delete_category": "Kategória törlése", + "admin_create_new_item": "Új elem létrehozása", + "admin_delete": "Törlés", + "admin_order": "Sorrend", + "admin_edit_category": "Kategória szerkesztése", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Sablon létrehozása", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplikálás", + "admin_summary": "Összegzés", + "admin_snippet": "Beépülők", + "admin_type": "Típus", + "admin_partial": "Részlet", + "admin_clone": "Klónozás", + "admin_create_new_snippet": "Beépülő létrehozása", + "admin_message_snippet_was_not_deleted": "A beépülő nem lett törölve", + "admin_message_snippet_was_not_renamed": "A beépülőt nem lehet átnevezni", + "admin_message_snippet_was_not_duplicated": "A beépülőt nem lehet duplikálni", + "admin_message_snippet_was_not_saved": "A beépülő nem lett elmentve", + "admin_create_new_template": "Sablon létrehozása", + "admin_message_template_created": "Sablon létrehozva", + "admin_message_template_deleted": "Sablon törölve", + "admin_message_template_renamed": "Sablon átnevezve", + "admin_message_template_duplicated": "Sablon duplikálva", + "admin_message_template_saved": "Sablon elmentve", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Beépülő elmentve", + "admin_message_snippet_created": "Beépülő létrehozva", + "admin_message_snippet_was_not_created": "Beépülő nem lett létrehozva", + "admin_message_snippet_deleted": "Beépülő törölve", + "admin_message_snippet_renamed": "Beépülő átnevezve", + "admin_message_snippet_duplicated": "Beépülő duplikálva", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Gyorsítótárfájlok törölve", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Bejegyzés létrehozva", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Bejegyzés törölve", + "admin_message_entry_was_not_renamed": "A bejegyzést nem lehet törölni", + "admin_message_entry_was_not_deleted": "A bejegyzés nem lett törölve", + "admin_message_entry_file_deleted": "A fájl sikeresen törölve", + "admin_message_entry_file_uploaded": "Fájl sikeresen feltöltve", + "admin_message_entry_file_not_uploaded": "A fájlt nem lehet feltölteni", + "admin_message_entry_moved": "Bejegyzés átmozgatva", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Bejegyzés átnevezve", + "admin_message_settings_saved": "Beállítások elmentve", + "admin_message_settings_was_not_saved": "Beállítások nem lettek mentve", + "admin_message_wrong_username_password": "Hibás felhasználónév vagy jelszó", + "admin_quality": "Minőség", + "admin_width": "Szélesség", + "admin_height": "Magasság", + "admin_accept_file_types": "Fájltípus elfogadása", + "admin_embeded_code": "Beágyazott kód", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP kód", + "admin_choose_files_to_upload": "Fájl kiválasztása", + "admin_browse_files": "Böngészés", + "admin_copy": "Másolás", + "admin_admin_panel": "Admin Panel", + "admin_light": "Világos", + "admin_dark": "Sötét", + "admin_name": "Név", + "admin_memcached_server": "Memcached kiszolgáló", + "admin_memcached_port": "Memcached port", + "admin_redis_socket": "Redis socket", + "admin_redis_password": "Redis jelszó", + "admin_redis_server": "Redis kiszolgáló", + "admin_redis_port": "Redis port", + "admin_sqlite3_database": "SQL adatbázis", + "admin_sqlite3_table": "SQLite3 tábla", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "A címnek alfanumerikus karakternek kell lennie (már az első karaktertől)", + "admin_entries_visible": "Látható", + "admin_entries_draft": "Piszkozat", + "admin_entries_hidden": "Rejtett", + "admin_menu_item_title": "Cím", + "admin_menu_item_url": "URL", + "admin_menu_item_target": "Cél", + "admin_menu_item_order": "Sorrend", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/it_IT.json b/site/plugins/admin/lang/it_IT.json new file mode 100644 index 00000000..053f8324 --- /dev/null +++ b/site/plugins/admin/lang/it_IT.json @@ -0,0 +1,207 @@ +{ + "admin": "Amministratore", + "admin_cancel": "Annulla", + "admin_create": "Crea", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Versione Flextype", + "admin_information": "Informazioni", + "admin_installed": "Installato", + "admin_keywords": "Parole Chiave", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Elementi", + "admin_extends": "Estendi", + "admin_plugins": "Plugins", + "admin_themes": "Temi", + "admin_help": "Aiuto", + "admin_getting_help": "Ottenere aiuto", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Disconnetti", + "admin_profile": "Profilo", + "admin_view_site": "Visualizza il sito", + "admin_snippets": "Snippets", + "admin_not_installed": "Non installato", + "admin_off": "Disattivo", + "admin_on": "Attivo", + "admin_add": "Aggiungi", + "admin_entry_attributes": "Attributi degli elementi", + "admin_fieldset_for_template": "Campi per template", + "admin_content": "Contenuto", + "admin_create_new_entry": "Crea nuovo elemento", + "admin_date": "Data", + "admin_draft": "Bozza", + "admin_edit": "Modifica", + "admin_blocks": "Blocchi", + "admin_media": "Media", + "admin_settings": "Impostazioni", + "admin_templates": "Templates", + "admin_entry": "Elemento", + "admin_fieldset": "Campi", + "admin_source": "Sorgente", + "admin_upload": "Carica File", + "admin_hidden": "Nascosto", + "admin_image_preview": "Anteprima immagine", + "admin_move": "Sposta", + "admin_parent_entry": "Elemento padre", + "admin_preview": "Anteprima", + "admin_publish": "Pubblica", + "admin_rename": "Rinomina", + "admin_save_entry": "Salva elemento", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Lingua", + "admin_entry_main": "Elemento principale", + "admin_theme": "Tema", + "admin_timezone": "Fuso orario", + "admin_username": "Username", + "admin_create_user": "Crea utente", + "admin_create_new_user": "Crea nuovo utente", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Crea una nuova categoria", + "admin_delete_category": "Elimina Categoria", + "admin_create_new_item": "Crea nuovo elemento", + "admin_delete": "Elimina", + "admin_order": "Ordina", + "admin_edit_category": "Modifica categoria", + "admin_fieldsets": "Campi", + "admin_template_create_new": "Crea nuovo template", + "admin_create_new_fieldset": "Crea nuovo Fieldset", + "admin_duplicate": "Duplica", + "admin_summary": "Sommario", + "admin_snippet": "Snippet", + "admin_type": "Tipo", + "admin_partial": "Parziale", + "admin_clone": "Clona", + "admin_create_new_snippet": "Crea nuovo snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Crea nuovo template", + "admin_message_template_created": "Template creato", + "admin_message_template_deleted": "Template eliminato", + "admin_message_template_renamed": "Template rinominato", + "admin_message_template_duplicated": "Template duplicato", + "admin_message_template_saved": "Template salvato", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet salvato", + "admin_message_snippet_created": "Snippet creato", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet eliminato", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ja_JP.json b/site/plugins/admin/lang/ja_JP.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/ja_JP.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ko_KR.json b/site/plugins/admin/lang/ko_KR.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/ko_KR.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/nl_NL.json b/site/plugins/admin/lang/nl_NL.json new file mode 100644 index 00000000..efc6a44e --- /dev/null +++ b/site/plugins/admin/lang/nl_NL.json @@ -0,0 +1,207 @@ +{ + "admin": "Beheerder", + "admin_cancel": "Annuleren", + "admin_create": "Creëren", + "admin_debugging": "Debuggen", + "admin_email": "E-mail", + "admin_flextype_version": "Flextype versie", + "admin_information": "Informatie", + "admin_installed": "Geïnstalleerd", + "admin_keywords": "Trefwoorden", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Aanmelden", + "admin_entries": "Entries", + "admin_extends": "Uitbreiden", + "admin_plugins": "Plugins", + "admin_themes": "Thema's", + "admin_help": "Help", + "admin_getting_help": "Help-informatie opvragen", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Uitloggen", + "admin_profile": "Profiel", + "admin_view_site": "Bekijk site", + "admin_snippets": "Tekstfragmenten", + "admin_not_installed": "Niet geïnstalleerd", + "admin_off": "Uit", + "admin_on": "Aan", + "admin_add": "Toevoegen", + "admin_entry_attributes": "Invoerattributen", + "admin_fieldset_for_template": "Fieldset voor sjabloon", + "admin_content": "Inhoud", + "admin_create_new_entry": "Maak een nieuwe invoer", + "admin_date": "Datum", + "admin_draft": "Klad", + "admin_edit": "Bewerk", + "admin_blocks": "Blokken", + "admin_media": "Media", + "admin_settings": "Instellingen", + "admin_templates": "Sjablonen", + "admin_entry": "Invoer", + "admin_fieldset": "Veldenset", + "admin_source": "Bron", + "admin_upload": "Uploaden", + "admin_hidden": "Verborgen", + "admin_image_preview": "Image voorbeeld", + "admin_move": "Verplaatsen", + "admin_parent_entry": "Toegangsouder", + "admin_preview": "Voorbeeld", + "admin_publish": "Publiceren", + "admin_rename": "Naam Wijzigen", + "admin_save_entry": "Invoer opslaan", + "admin_template": "Sjablonen", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Hoofdingang", + "admin_theme": "Thema", + "admin_timezone": "Tijdzone", + "admin_username": "Gebruikersnaam", + "admin_create_user": "Gebruiker Aanmaken", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/no_NO.json b/site/plugins/admin/lang/no_NO.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/no_NO.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/pl_PL.json b/site/plugins/admin/lang/pl_PL.json new file mode 100644 index 00000000..6dd5120d --- /dev/null +++ b/site/plugins/admin/lang/pl_PL.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Anuluj", + "admin_create": "Stwórz", + "admin_debugging": "Debugowanie", + "admin_email": "Email", + "admin_flextype_version": "Wersja Flextype", + "admin_information": "Informacja", + "admin_installed": "Zainstalowany", + "admin_keywords": "Słowa kluczowe", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Zaloguj", + "admin_entries": "Wpisy", + "admin_extends": "Rozszerzenia", + "admin_plugins": "Wtyczki", + "admin_themes": "Motywy", + "admin_help": "Pomoc", + "admin_getting_help": "Pomoc", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Wyloguj", + "admin_profile": "Profil", + "admin_view_site": "Wyświetl stronę", + "admin_snippets": "Fragmenty kodu", + "admin_not_installed": "Nie Zainstalowany", + "admin_off": "Wyłączony", + "admin_on": "Włączony", + "admin_add": "Dodaj", + "admin_entry_attributes": "Atrybuty wpisu", + "admin_fieldset_for_template": "Zestaw pól szablonu", + "admin_content": "Zawartość", + "admin_create_new_entry": "Utwórz nowy wpis", + "admin_date": "Data", + "admin_draft": "Szkic", + "admin_edit": "Edytuj", + "admin_blocks": "Bloki", + "admin_media": "Media", + "admin_settings": "Ustawienia", + "admin_templates": "Szablony", + "admin_entry": "Wpis", + "admin_fieldset": "Zestaw pól", + "admin_source": "Źródło", + "admin_upload": "Wrzuć plik", + "admin_hidden": "Ukryty", + "admin_image_preview": "Podgląd obrazu", + "admin_move": "Przenieś", + "admin_parent_entry": "Wpis nadrzędny", + "admin_preview": "Podgląd", + "admin_publish": "Opublikuj", + "admin_rename": "Zmień nazwę", + "admin_save_entry": "Zapisz wpis", + "admin_template": "Szablon", + "admin_title": "Tytuł", + "admin_url": "Adres URL", + "admin_view": "Widok", + "admin_visibility": "Widoczność", + "admin_visible": "Widoczny", + "admin_password": "Hasło", + "admin_php_built_on": "PHP wbudowane", + "admin_php_version": "Wersja PHP", + "admin_author_url": "URL Autora", + "admin_bugs": "Błędy", + "admin_description": "Opis", + "admin_get_more_plugins": "Więcej wtyczek", + "admin_homepage": "Strona główna", + "admin_info": "Info", + "admin_license": "Licencja", + "admin_status": "Status", + "admin_disabled": "wyłączone", + "admin_enabled": "włączone", + "admin_version": "Wersja", + "admin_role": "Rola", + "admin_save": "Zapisz", + "admin_security_check_results": "Wyniki kontroli bezpieczeństwa", + "admin_security_check_results_debug": "Ze względu na rodzaj i ilość informacji wyświetlenie błędu może umożliwić intruzowi dostęp, gdy włącvzona jest opcja POKAŻ BŁĘDY, zalecamy wyłączenie opcji POKAŻ BŁĘDY w systemach produkcyjnych.", + "admin_security_check_results_htaccess": "Plik Flexhtpe .htaccess posiada uprawnienia zapisu. Zalecamy usunięcie wszystkich uprawnień do zapisu.
Możesz to zrobić na systemach uniksowych z: chmod a-w :path", + "admin_security_check_results_index": "Plik Flexhtpe index.php posiada uprawnienia zapisu. Zalecamy usunięcie wszystkich uprawnień do zapisu.
Możesz to zrobić na systemach uniksowych z: chmod a-w :path", + "admin_server": "Serwer", + "admin_site": "Strona", + "admin_clear_cache": "Wyczyść pamięć podręczną", + "admin_error404_title": "Tytuł błędu Error404", + "admin_error404_description": "Opis błędu Error404", + "admin_error404_content": "Treść błędu Error404", + "admin_error404_template": "Szablon błędu Error404", + "admin_heading": "Ustawienia", + "admin_general": "Ogólne", + "admin_error_404_page": "Strona błędu 404", + "admin_cache": "Pamięć podręczna", + "admin_author_email": "Email Autora", + "admin_author_name": "Imię Autora", + "admin_site_description": "Opis strony", + "admin_site_keywords": "Słowa kluczowe", + "admin_site_robots": "Roboty", + "admin_site_title": "Nazwa strony", + "admin_system": "System", + "admin_cache_driver": "Sterownik pamięci podręcznej", + "admin_cache_enabled": "Pamięć podręczna włączona", + "admin_cache_lifetime": "Czas pamięci podręcznej", + "admin_cache_prefix": "Przedrostek pamięci podręcznej", + "admin_charset": "Zestaw znaków", + "admin_date_format": "Format daty", + "admin_errors_display": "Pokaż błędy", + "admin_locale": "Ustawienia regionalne", + "admin_entry_main": "Strona główna witryny", + "admin_theme": "Motyw", + "admin_timezone": "Strefa czasowa", + "admin_username": "Nazwa Użytkownika", + "admin_create_user": "Utwórz użytkownika", + "admin_create_new_user": "Utwórz nowego użytkownika", + "admin_web_server": "Serwer internetowy", + "admin_web_server_php_interface": "Serwer internetowy do interfejsu PHP", + "admin_create_new_category": "Utwórz nową kategorię", + "admin_delete_category": "Usuń kategorię", + "admin_create_new_item": "Utwórz nową pozycję", + "admin_delete": "Kasuj", + "admin_order": "Kolejność", + "admin_edit_category": "Edytuj kategorię", + "admin_fieldsets": "Zestawy pól", + "admin_template_create_new": "Utwórz nowy szablon", + "admin_create_new_fieldset": "Utwórz nowy zestaw pól", + "admin_duplicate": "Kopiuj", + "admin_summary": "Streszczenie", + "admin_snippet": "Fragment kodu", + "admin_type": "Rodzaj", + "admin_partial": "Częściowy", + "admin_clone": "Kopiuj", + "admin_create_new_snippet": "Utwórz nowy fragment kodu", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Utwórz nowy szablon", + "admin_message_template_created": "Szablon utworzony", + "admin_message_template_deleted": "Szablon został usunięty", + "admin_message_template_renamed": "Zmieniono nazwę szablonu", + "admin_message_template_duplicated": "Szablon został skopiowany", + "admin_message_template_saved": "Szablon został zapisany", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "fragment kodu został zapisany", + "admin_message_snippet_created": "Utworzono fragment kodu", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Fragment kodu usunięty", + "admin_message_snippet_renamed": "Zmieniono nazwę fragmentu kodu", + "admin_message_snippet_duplicated": "Fragment kodu został skopiowany", + "admin_message_fieldset_saved": "Zapisano zestaw pól", + "admin_message_fieldset_created": "Utworzono zestaw pól", + "admin_message_fieldset_deleted": "Zestaw pól został usunięty", + "admin_message_fieldset_renamed": "Zmieniono nazwę zestaw pól", + "admin_message_fieldset_duplicated": "Zestaw pól został skopiowany", + "admin_message_entry_duplicated": "Wpis został skopiowany", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Pliki pamięci podręcznej zostały usunięte", + "admin_message_entry_changes_saved": "Zmiany zostały pomyślnie zapisane", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Wpis został skopiowany", + "admin_message_entry_created": "Utworzono wpis", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Wpis został usunięty", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "Plik został pomyślnie usunięty", + "admin_message_entry_file_uploaded": "Plik został pomyślnie przesłany", + "admin_message_entry_file_not_uploaded": "Plik nie został przesłany", + "admin_message_entry_moved": "Wpis został przeniesiony", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Zmieniono nazwę wpisu", + "admin_message_settings_saved": "Ustawienia zapisane", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Zła nazwa użytkownika lub hasło", + "admin_quality": "Jakość", + "admin_width": "Szerokość", + "admin_height": "Wysokość", + "admin_accept_file_types": "Dopuszczalne typy plików", + "admin_embeded_code": "Wbudowany kod", + "admin_shortcode": "Krótki kod", + "admin_php_code": "Kod PHP", + "admin_choose_files_to_upload": "Wybierz plik", + "admin_browse_files": "Przeglądaj", + "admin_copy": "Kopiuj", + "admin_admin_panel": "Panel administratora", + "admin_light": "Jasny", + "admin_dark": "Ciemny", + "admin_name": "Nazwa", + "admin_memcached_server": "Memcached Serwer", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Hasło", + "admin_redis_server": "Redis Serwer", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "Baza danych SQLite3", + "admin_sqlite3_table": "Tabela SQLite3", + "admin_error_name_empty_input": "Nazwa musi być wartością alfanumeryczną", + "admin_error_title_empty_input": "Tytuł musi być wartością alfanumeryczną", + "admin_entries_visible": "Widoczny", + "admin_entries_draft": "Szkic", + "admin_entries_hidden": "Ukryty", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/pt_BR.json b/site/plugins/admin/lang/pt_BR.json new file mode 100644 index 00000000..814f2cc4 --- /dev/null +++ b/site/plugins/admin/lang/pt_BR.json @@ -0,0 +1,207 @@ +{ + "admin": "Administração", + "admin_cancel": "Cancelar", + "admin_create": "Criar", + "admin_debugging": "Depuração", + "admin_email": "Email", + "admin_flextype_version": "Versão Flextype", + "admin_information": "Information", + "admin_installed": "Instalado", + "admin_keywords": "Palavras-chave", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Iniciar sessão", + "admin_entries": "Posts", + "admin_extends": "Estender", + "admin_plugins": "Plugins", + "admin_themes": "Temas", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Página inicial", + "admin_info": "Info", + "admin_license": "Licença", + "admin_status": "Status", + "admin_disabled": "desativado", + "admin_enabled": "ativado", + "admin_version": "Version", + "admin_role": "Posição", + "admin_save": "Save", + "admin_security_check_results": "Resultados da verificação de segurança", + "admin_security_check_results_debug": "Devido ao tipo e quantidade de informações que dê um erro intrusos quando exibir erros TRUE, recomendamos a configuração exibir erros falsos nos sistemas de produção.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/pt_PT.json b/site/plugins/admin/lang/pt_PT.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/pt_PT.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ro_RO.json b/site/plugins/admin/lang/ro_RO.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/ro_RO.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/ru_RU.json b/site/plugins/admin/lang/ru_RU.json new file mode 100644 index 00000000..86ae9324 --- /dev/null +++ b/site/plugins/admin/lang/ru_RU.json @@ -0,0 +1,207 @@ +{ + "admin": "Админ", + "admin_cancel": "Отмена", + "admin_create": "Создать", + "admin_debugging": "Отладка", + "admin_email": "E-mail", + "admin_flextype_version": "Flextype Версия", + "admin_information": "Информация", + "admin_installed": "Установлено", + "admin_keywords": "Ключевые слова", + "admin_documentation": "Документация", + "admin_memcache_server": "Сервер Memcache", + "admin_memcache_port": "Порт Memcache", + "admin_login": "Логин", + "admin_entries": "Записи", + "admin_extends": "Расширения", + "admin_plugins": "Плагины", + "admin_themes": "Темы", + "admin_help": "Помощь", + "admin_getting_help": "Документация", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Выход", + "admin_profile": "Профайл", + "admin_view_site": "Просмотреть Сайт", + "admin_snippets": "Сниппеты", + "admin_not_installed": "Не установлено", + "admin_off": "Выключено", + "admin_on": "Включено", + "admin_add": "Добавить", + "admin_entry_attributes": "Атрибуты Записи", + "admin_fieldset_for_template": "Набор полей для шаблона", + "admin_content": "Контент", + "admin_create_new_entry": "Создать Новую Запись", + "admin_date": "Дата", + "admin_draft": "Черновик", + "admin_edit": "Редактировать", + "admin_blocks": "Блоки", + "admin_media": "Медиа", + "admin_settings": "Настройки", + "admin_templates": "Шаблоны", + "admin_entry": "Записи", + "admin_fieldset": "Поле", + "admin_source": "Код", + "admin_upload": "Загрузить", + "admin_hidden": "Скрытый", + "admin_image_preview": "Просмотр изображения", + "admin_move": "Переместить", + "admin_parent_entry": "Родитель записи", + "admin_preview": "Просмотр", + "admin_publish": "Публиковать", + "admin_rename": "Переименовать", + "admin_save_entry": "Сохранить запись", + "admin_template": "Шаблон", + "admin_title": "Заголовок", + "admin_url": "Ссылка", + "admin_view": "Просмотр", + "admin_visibility": "Видимость", + "admin_visible": "Видимый", + "admin_password": "Пароль", + "admin_php_built_on": "PHP включен", + "admin_php_version": "PHP Версия", + "admin_author_url": "Ссылка Автора", + "admin_bugs": "Баги", + "admin_description": "Описание", + "admin_get_more_plugins": "Скачать Новые Плагины", + "admin_homepage": "Домашняя страничка", + "admin_info": "Информация", + "admin_license": "Лицензия", + "admin_status": "Статус", + "admin_disabled": "Выключено", + "admin_enabled": "Включено", + "admin_version": "Версия", + "admin_role": "Роль", + "admin_save": "Сохранить", + "admin_security_check_results": "Результаты проверки безопасности", + "admin_security_check_results_debug": "Система работает в режиме ОТЛАДКИ Мы рекомендуем вам УБРАТЬ режим ОТЛАДКИ на живом сайте.", + "admin_security_check_results_htaccess": "Главный .htaccess доступен для записи. Мы рекомендуем вам удалить права записи на главный .htaccess файл.
Вы можете сделать это на UNIX системах так: chmod -R a-w :path", + "admin_security_check_results_index": "Главный index.php файл доступен для записи. Мы рекомендуем вам удалить права записи на главный index.php файл.
Вы можете сделать это на UNIX системах так: chmod -R a-w :path", + "admin_server": "Сервер", + "admin_site": "Сайт", + "admin_clear_cache": "Очистить кеш", + "admin_error404_title": "Заголовок страницы про - Ошибку 404", + "admin_error404_description": "Описание страницы про - Ошибку 404", + "admin_error404_content": "Контент страницы про - Ошибку 404", + "admin_error404_template": "Шаблон страницы про - Ошибку 404", + "admin_heading": "Настройки", + "admin_general": "Основное", + "admin_error_404_page": "Страница ошибки 404", + "admin_cache": "Кеш", + "admin_author_email": "Почта автора", + "admin_author_name": "Имя автора", + "admin_site_description": "Описание сайта", + "admin_site_keywords": "Ключевые слова сайта", + "admin_site_robots": "Роботы", + "admin_site_title": "Заголовок сайта", + "admin_system": "Система", + "admin_cache_driver": "Драйвер кеша", + "admin_cache_enabled": "Кэш включен", + "admin_cache_lifetime": "Время жизни кеша", + "admin_cache_prefix": "Префикс кэша", + "admin_charset": "Кодировка", + "admin_date_format": "Формат даты", + "admin_errors_display": "Показать ошибки", + "admin_locale": "Местонахождение", + "admin_entry_main": "Главная запись", + "admin_theme": "Тема", + "admin_timezone": "Часовой пояс", + "admin_username": "Имя пользователя", + "admin_create_user": "Создать пользователя", + "admin_create_new_user": "Создать нового пользователя", + "admin_web_server": "Веб-сервер", + "admin_web_server_php_interface": "PHP интерфейс веб-сервера", + "admin_create_new_category": "Создать новую категорию", + "admin_delete_category": "Удалить категорию", + "admin_create_new_item": "Создать Новый Элемент", + "admin_delete": "Удалить", + "admin_order": "Счет", + "admin_edit_category": "Редактировать категорию", + "admin_fieldsets": "Наборы полей", + "admin_template_create_new": "Создать новый шаблон", + "admin_create_new_fieldset": "Создать новый набор полей", + "admin_duplicate": "Дублировать", + "admin_summary": "Краткое описание", + "admin_snippet": "Сниппет", + "admin_type": "Тип", + "admin_partial": "Партиал", + "admin_clone": "Клон", + "admin_create_new_snippet": "Создать новый сниппет", + "admin_message_snippet_was_not_deleted": "Сниппет не был удален", + "admin_message_snippet_was_not_renamed": "Сниппет не был переименован", + "admin_message_snippet_was_not_duplicated": "Сниппет не был дублирован", + "admin_message_snippet_was_not_saved": "Сниппет не был сохранен", + "admin_create_new_template": "Создать новый шаблон", + "admin_message_template_created": "Шаблон создан", + "admin_message_template_deleted": "Шаблон удален", + "admin_message_template_renamed": "Шаблон переименован", + "admin_message_template_duplicated": "Шаблон дублировался", + "admin_message_template_saved": "Шаблон сохранен", + "admin_message_template_was_not_created": "Шаблон не был переименован", + "admin_message_partial_was_not_created": "Partial не был переименован", + "admin_message_partial_created": "Partial создан", + "admin_message_partial_deleted": "Partial удален", + "admin_message_partial_was_not_deleted": "Partial не удален", + "admin_message_snippet_saved": "Сниппет сохранен", + "admin_message_snippet_created": "Сниппет создан", + "admin_message_snippet_was_not_created": "Сниппет не был создан", + "admin_message_snippet_deleted": "Сниппет удален", + "admin_message_snippet_renamed": "Сниппет переименован", + "admin_message_snippet_duplicated": "Сниппет дублирован ", + "admin_message_fieldset_saved": "Набор полей сохранен", + "admin_message_fieldset_created": "Набор полей создан", + "admin_message_fieldset_deleted": "Набор полей удален", + "admin_message_fieldset_renamed": "Набор полей создан", + "admin_message_fieldset_duplicated": "Набор полей удален", + "admin_message_entry_duplicated": "Запись дублировалась", + "admin_message_entry_was_not_duplicated": "Запись не была дублирована", + "admin_message_cache_files_deleted": "Файлы кеша удалены", + "admin_message_entry_changes_saved": "Изменения успешно сохранены", + "admin_message_entry_changes_not_saved": "Изменения не сохранены", + "admin_message_entry_cloned": "Запись клонировалась", + "admin_message_entry_created": "Запись создана", + "admin_message_entry_was_not_created": "Запись не была создана", + "admin_message_entry_deleted": "Запись удалена", + "admin_message_entry_was_not_renamed": "Запись не была переименована", + "admin_message_entry_was_not_deleted": "Запись не удалена", + "admin_message_entry_file_deleted": "Файл успешно удален", + "admin_message_entry_file_uploaded": "Файл успешно загружен", + "admin_message_entry_file_not_uploaded": "Файл не был загружен", + "admin_message_entry_moved": "Запись перемещена", + "admin_message_entry_was_not_moved": "Запись не была перемещена", + "admin_message_entry_renamed": "Запись переименована", + "admin_message_settings_saved": "Настройки сохранены", + "admin_message_settings_was_not_saved": "Настройки не сохранены", + "admin_message_wrong_username_password": "Неверное имя пользователя или пароль", + "admin_quality": "Качество", + "admin_width": "Ширина", + "admin_height": "Высота", + "admin_accept_file_types": "Допустимые типы файлов", + "admin_embeded_code": "Код для вставки", + "admin_shortcode": "Короткий код", + "admin_php_code": "PHP код", + "admin_choose_files_to_upload": "Выберите файл", + "admin_browse_files": "Просмотреть", + "admin_copy": "Копировать", + "admin_admin_panel": "Админ панель", + "admin_light": "Светлый", + "admin_dark": "Темный", + "admin_name": "Название", + "admin_memcached_server": "Сервер Memcache", + "admin_memcached_port": "Порт Memcache", + "admin_redis_socket": "Сокет Redis", + "admin_redis_password": "Redis пароль", + "admin_redis_server": "Сервер Redis", + "admin_redis_port": "Redis Порт", + "admin_sqlite3_database": "База данных SQLite3", + "admin_sqlite3_table": "Таблица SQLite3", + "admin_error_name_empty_input": "Название должно быть буквенно-цифровое значение (от 1 симв.)", + "admin_error_title_empty_input": "Заголовок должен иметь буквенно-цифровое значение (от 1 симв.)", + "admin_entries_visible": "Видимый", + "admin_entries_draft": "Черновик", + "admin_entries_hidden": "Скрытый", + "admin_menu_item_title": "Заголовок", + "admin_menu_item_url": "Ссылка", + "admin_menu_item_target": "Цель", + "admin_menu_item_order": "Порядок", + "admin_template_code": "Код для вставки" +} diff --git a/site/plugins/admin/lang/sr_SP.json b/site/plugins/admin/lang/sr_SP.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/sr_SP.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/sv_SE.json b/site/plugins/admin/lang/sv_SE.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/sv_SE.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/tr_TR.json b/site/plugins/admin/lang/tr_TR.json new file mode 100644 index 00000000..03e4af9e --- /dev/null +++ b/site/plugins/admin/lang/tr_TR.json @@ -0,0 +1,207 @@ +{ + "admin": "Yönetici", + "admin_cancel": "İptal", + "admin_create": "Oluştur", + "admin_debugging": "Hata ayıklama", + "admin_email": "E-posta", + "admin_flextype_version": "Flextype Sürüm", + "admin_information": "Bilgi", + "admin_installed": "Yüklendi", + "admin_keywords": "Anahtar Kelimeler", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Giriş Yap", + "admin_entries": "Entries", + "admin_extends": "Uzantı", + "admin_plugins": "Eklentiler", + "admin_themes": "Temalar", + "admin_help": "Yardım et", + "admin_getting_help": "Yardım Alma", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Çıkış Yap", + "admin_profile": "Profil", + "admin_view_site": "Siteyi Görüntüle", + "admin_snippets": "Snippets", + "admin_not_installed": "Yüklenmedi", + "admin_off": "Kapalı", + "admin_on": "Açık", + "admin_add": "Ekle", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "İçerik", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Tarih", + "admin_draft": "Taslak", + "admin_edit": "Düzenle", + "admin_blocks": "Bloklar", + "admin_media": "Medya", + "admin_settings": "Ayarlar", + "admin_templates": "Şablonlar", + "admin_entry": "Girdi", + "admin_fieldset": "Fieldset", + "admin_source": "Kaynak", + "admin_upload": "Yükle", + "admin_hidden": "Gizli", + "admin_image_preview": "Resim önizleme", + "admin_move": "Taşı", + "admin_parent_entry": "Entry parent", + "admin_preview": "Önizleme", + "admin_publish": "Yayınla", + "admin_rename": "Yeniden Adlandır", + "admin_save_entry": "Girdiyi kaydet", + "admin_template": "Şablon", + "admin_title": "Başlık", + "admin_url": "Url", + "admin_view": "Görüntüle", + "admin_visibility": "Görünürlük", + "admin_visible": "Görünürlük", + "admin_password": "Şifre", + "admin_php_built_on": "PHP üzerinde oluşturulan", + "admin_php_version": "PHP Versiyon", + "admin_author_url": "Yazar url", + "admin_bugs": "Hatalar", + "admin_description": "Açıklama", + "admin_get_more_plugins": "Daha Fazla Eklenti", + "admin_homepage": "Anasayfa", + "admin_info": "Bilgi", + "admin_license": "Lisans", + "admin_status": "Durum", + "admin_disabled": "devre dışı", + "admin_enabled": "etkin", + "admin_version": "Sürüm", + "admin_role": "Rol", + "admin_save": "Kaydet", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Sunucu", + "admin_site": "Site", + "admin_clear_cache": "Önbelleği temizle", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Ayarlar", + "admin_general": "Genel", + "admin_error_404_page": "Hata 404 sayfası", + "admin_cache": "Önbellek", + "admin_author_email": "Yazar e-posta", + "admin_author_name": "Yazar adı", + "admin_site_description": "Site açıklaması", + "admin_site_keywords": "Site Anahtar Kelimeler", + "admin_site_robots": "Robots", + "admin_site_title": "Site Başlığı", + "admin_system": "Sistem", + "admin_cache_driver": "Önbellek sürücüsü", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Tarih formatı", + "admin_errors_display": "Display errors", + "admin_locale": "Yerel", + "admin_entry_main": "Main entry", + "admin_theme": "Tema", + "admin_timezone": "Zaman Dilimi", + "admin_username": "Kullanıcı Adı", + "admin_create_user": "Kullanıcı Oluştur", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Sunucu", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Kategori Sil", + "admin_create_new_item": "Create New Item", + "admin_delete": "Sil", + "admin_order": "Sıra", + "admin_edit_category": "Kategoriyi düzenle", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Yeni Şablon Oluştur", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Kopyala", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Tür", + "admin_partial": "Partial", + "admin_clone": "Klonla", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Şablon silindi", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Genişlik", + "admin_height": "Yükseklik", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Dosya seç", + "admin_browse_files": "Gözat", + "admin_copy": "Kopyala", + "admin_admin_panel": "Yönetim Paneli", + "admin_light": "Aydınlık", + "admin_dark": "Karanlık", + "admin_name": "Ad", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/uk_UA.json b/site/plugins/admin/lang/uk_UA.json new file mode 100644 index 00000000..ab4e3242 --- /dev/null +++ b/site/plugins/admin/lang/uk_UA.json @@ -0,0 +1,207 @@ +{ + "admin": "Адмін", + "admin_cancel": "Скасувати", + "admin_create": "Створити", + "admin_debugging": "Відлагодження", + "admin_email": "E-mail", + "admin_flextype_version": "Версія Flextype", + "admin_information": "Інформація", + "admin_installed": "Встановлений", + "admin_keywords": "Ключові Слова", + "admin_documentation": "Документація", + "admin_memcache_server": "Сервер Memcache", + "admin_memcache_port": "Порт Memcache", + "admin_login": "Логін", + "admin_entries": "Записи", + "admin_extends": "Розширення", + "admin_plugins": "Плагіни", + "admin_themes": "Тема оформлення", + "admin_help": "Допомога", + "admin_getting_help": "Отримати довідку", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Вихід", + "admin_profile": "Профіль", + "admin_view_site": "Переглянути сайт", + "admin_snippets": "Сніпети", + "admin_not_installed": "Не встановлено", + "admin_off": "Вимкнено", + "admin_on": "Увімкнуто", + "admin_add": "Додати", + "admin_entry_attributes": "Атрибути запису", + "admin_fieldset_for_template": "Набір полів для шаблону", + "admin_content": "Контент", + "admin_create_new_entry": "Створити новий запис", + "admin_date": "Дата", + "admin_draft": "Чернетка", + "admin_edit": "Редагувати", + "admin_blocks": "Блоки", + "admin_media": "Медіа-файли", + "admin_settings": "Налаштування", + "admin_templates": "Шаблони", + "admin_entry": "Запис", + "admin_fieldset": "Набір полів", + "admin_source": "Джерело", + "admin_upload": "Завантажити", + "admin_hidden": "Прихований", + "admin_image_preview": "Попередній перегляд", + "admin_move": "Перемістити", + "admin_parent_entry": "Запис батьків", + "admin_preview": "Попередній перегляд", + "admin_publish": "Опублікувати", + "admin_rename": "Перейменувати", + "admin_save_entry": "Зберегти запис", + "admin_template": "Шаблон", + "admin_title": "Заголовок", + "admin_url": "URL-адреса", + "admin_view": "Вигляд", + "admin_visibility": "Видимість", + "admin_visible": "Видимий", + "admin_password": "Пароль", + "admin_php_built_on": "Побудований на PHP", + "admin_php_version": "Версія PHP", + "admin_author_url": "URL автора", + "admin_bugs": "Помилка", + "admin_description": "Опис", + "admin_get_more_plugins": "Отримати більше плагінів", + "admin_homepage": "Домашня сторінка", + "admin_info": "Інформація", + "admin_license": "Ліцензія", + "admin_status": "Статус", + "admin_disabled": "Вимкнено", + "admin_enabled": "Увімкнено", + "admin_version": "Версія", + "admin_role": "Роль", + "admin_save": "Зберегти", + "admin_security_check_results": "Результатів перевірки безпеки", + "admin_security_check_results_debug": "У зв'язку з тип і обсяг інформації, що помилка може дати зловмисників, коли ВІДОБРАЖЕННЯ помилок-правда, ми настійно радимо налаштування ВІДОБРАЖЕННЯ помилок ПОМИЛКОВИХ систем виробництва.", + "admin_security_check_results_htaccess": "Htaccess файл Flextype було встановлено, бути для запису. Ми б радили Вам, щоб видалити всі права на запис.
для цього на Unix-подібних системах з: chmod a-w: шлях", + "admin_security_check_results_index": "Htaccess файл Flextype було встановлено, бути для запису. Ми б радили Вам, щоб видалити всі права на запис.
для цього на Unix-подібних системах з: chmod a-w: шлях", + "admin_server": "Сервер", + "admin_site": "Сайт", + "admin_clear_cache": "Очистити кеш", + "admin_error404_title": "Назва Error404", + "admin_error404_description": "Error404 запис Опис", + "admin_error404_content": "Назва Error404", + "admin_error404_template": "Запис шаблону Error404", + "admin_heading": "Налаштування", + "admin_general": "Загальні", + "admin_error_404_page": "Сторінка з помилкою 404", + "admin_cache": "Кеш", + "admin_author_email": "Електронна пошта автора", + "admin_author_name": "Ім'я автора", + "admin_site_description": "Опис сайту", + "admin_site_keywords": "Ключові слова сайту", + "admin_site_robots": "Роботи", + "admin_site_title": "Заголовок сайта", + "admin_system": "Система", + "admin_cache_driver": "Кеш драйвера", + "admin_cache_enabled": "Кеш включений", + "admin_cache_lifetime": "Тривалість зберігання кешу", + "admin_cache_prefix": "Кеш префікс", + "admin_charset": "Кодування", + "admin_date_format": "Формат дати", + "admin_errors_display": "Відображати помилки", + "admin_locale": "Мова", + "admin_entry_main": "Основний запис", + "admin_theme": "Тема оформлення", + "admin_timezone": "Часовий пояс", + "admin_username": "Користувач", + "admin_create_user": "Створити користувача", + "admin_create_new_user": "Створити нового користувача", + "admin_web_server": "Веб-сервер", + "admin_web_server_php_interface": "Веб-сервер для PHP інтерфейс", + "admin_create_new_category": "Створити нову категорію", + "admin_delete_category": "Видалити категорію", + "admin_create_new_item": "Створити новий елемент", + "admin_delete": "Видалити", + "admin_order": "Замовлення", + "admin_edit_category": "Редагувати категорію", + "admin_fieldsets": "Набір полів", + "admin_template_create_new": "Створити новий шаблон", + "admin_create_new_fieldset": "Створити новий набір полів", + "admin_duplicate": "Створити копію", + "admin_summary": "Підсумок", + "admin_snippet": "Сніпети", + "admin_type": "Тип", + "admin_partial": "Частково", + "admin_clone": "Клонувати", + "admin_create_new_snippet": "Створити новий сніпет тут", + "admin_message_snippet_was_not_deleted": "Сніпет не був видалений", + "admin_message_snippet_was_not_renamed": "Сніпет не був перейменовано", + "admin_message_snippet_was_not_duplicated": "Сніпет не був продубльований", + "admin_message_snippet_was_not_saved": "Сніпет не було збережено", + "admin_create_new_template": "Створити новий шаблон", + "admin_message_template_created": "Шаблон створений", + "admin_message_template_deleted": "Шаблон видалено", + "admin_message_template_renamed": "Шаблон перейменовано", + "admin_message_template_duplicated": "Шаблон дублюється", + "admin_message_template_saved": "Шаблон збережено", + "admin_message_template_was_not_created": "Шаблон не перейменовано", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Сніпет збережено", + "admin_message_snippet_created": "Сніпет створено", + "admin_message_snippet_was_not_created": "Сніпет не було створено", + "admin_message_snippet_deleted": "Сніпет видалено", + "admin_message_snippet_renamed": "Сніпет перейменовано", + "admin_message_snippet_duplicated": "Сніпет продубльовано", + "admin_message_fieldset_saved": "Набір полів збережено", + "admin_message_fieldset_created": "Набір полів створено", + "admin_message_fieldset_deleted": "Набір полів видалено", + "admin_message_fieldset_renamed": "Набір полів перейменовано", + "admin_message_fieldset_duplicated": "Набір полів продубльовано", + "admin_message_entry_duplicated": "Запис продубльовано", + "admin_message_entry_was_not_duplicated": "Запис не було продубльовано", + "admin_message_cache_files_deleted": "Файли кешу видалено", + "admin_message_entry_changes_saved": "Зміни зебережно успішно", + "admin_message_entry_changes_not_saved": "Зміни не збережено", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Налаштування збережено", + "admin_message_settings_was_not_saved": "Налаштування не збережено", + "admin_message_wrong_username_password": "Хибне ім'я або пароль", + "admin_quality": "Якість", + "admin_width": "Ширина", + "admin_height": "Висота", + "admin_accept_file_types": "Допустимі типи файлів", + "admin_embeded_code": "Код для вбудовування", + "admin_shortcode": "Короткий код", + "admin_php_code": "PHP код", + "admin_choose_files_to_upload": "Обрати файл", + "admin_browse_files": "Огляд", + "admin_copy": "Копіювати", + "admin_admin_panel": "Панель адміністратора", + "admin_light": "Світлий", + "admin_dark": "Темний", + "admin_name": "Name", + "admin_memcached_server": "Сервер Memcached", + "admin_memcached_port": "Порт Memcached", + "admin_redis_socket": "Сокет Redis", + "admin_redis_password": "Пароль Redis", + "admin_redis_server": "Адреса Redis", + "admin_redis_port": "Порт Redis", + "admin_sqlite3_database": "База даних SQLite3", + "admin_sqlite3_table": "Таблиця SQLite3", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Заголовок", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/vi_VN.json b/site/plugins/admin/lang/vi_VN.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/vi_VN.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/zh_CN.json b/site/plugins/admin/lang/zh_CN.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/zh_CN.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/lang/zh_TW.json b/site/plugins/admin/lang/zh_TW.json new file mode 100644 index 00000000..95c8a291 --- /dev/null +++ b/site/plugins/admin/lang/zh_TW.json @@ -0,0 +1,207 @@ +{ + "admin": "Admin", + "admin_cancel": "Cancel", + "admin_create": "Create", + "admin_debugging": "Debugging", + "admin_email": "Email", + "admin_flextype_version": "Flextype Version", + "admin_information": "Information", + "admin_installed": "Installed", + "admin_keywords": "Keywords", + "admin_documentation": "Documentation", + "admin_memcache_server": "Memcache Server", + "admin_memcache_port": "Memcache Port", + "admin_login": "Login", + "admin_entries": "Entries", + "admin_extends": "Extends", + "admin_plugins": "Plugins", + "admin_themes": "Themes", + "admin_help": "Help", + "admin_getting_help": "Getting Help", + "admin_message_json_invalid": "Invalid JSON", + "admin_logout": "Logout", + "admin_profile": "Profile", + "admin_view_site": "View Site", + "admin_snippets": "Snippets", + "admin_not_installed": "Not Installed", + "admin_off": "Off", + "admin_on": "On", + "admin_add": "Add", + "admin_entry_attributes": "Entry Attributes", + "admin_fieldset_for_template": "Fieldset for template", + "admin_content": "Content", + "admin_create_new_entry": "Create New Entry", + "admin_date": "Date", + "admin_draft": "Draft", + "admin_edit": "Edit", + "admin_blocks": "Blocks", + "admin_media": "Media", + "admin_settings": "Settings", + "admin_templates": "Templates", + "admin_entry": "Entry", + "admin_fieldset": "Fieldset", + "admin_source": "Source", + "admin_upload": "Upload", + "admin_hidden": "Hidden", + "admin_image_preview": "Image preview", + "admin_move": "Move", + "admin_parent_entry": "Entry parent", + "admin_preview": "Preview", + "admin_publish": "Publish", + "admin_rename": "Rename", + "admin_save_entry": "Save entry", + "admin_template": "Template", + "admin_title": "Title", + "admin_url": "Url", + "admin_view": "View", + "admin_visibility": "Visibility", + "admin_visible": "Visible", + "admin_password": "Password", + "admin_php_built_on": "PHP Built On", + "admin_php_version": "PHP Version", + "admin_author_url": "Author url", + "admin_bugs": "Bugs", + "admin_description": "Description", + "admin_get_more_plugins": "Get More Plugins", + "admin_homepage": "Homepage", + "admin_info": "Info", + "admin_license": "License", + "admin_status": "Status", + "admin_disabled": "disabled", + "admin_enabled": "enabled", + "admin_version": "Version", + "admin_role": "Role", + "admin_save": "Save", + "admin_security_check_results": "Security check results", + "admin_security_check_results_debug": "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems.", + "admin_security_check_results_htaccess": "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_security_check_results_index": "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path", + "admin_server": "Server", + "admin_site": "Site", + "admin_clear_cache": "Clear cache", + "admin_error404_title": "Error404 entry title", + "admin_error404_description": "Error404 entry description", + "admin_error404_content": "Error404 entry content", + "admin_error404_template": "Error404 entry template", + "admin_heading": "Settings", + "admin_general": "General", + "admin_error_404_page": "Error 404 page", + "admin_cache": "Cache", + "admin_author_email": "Author email", + "admin_author_name": "Author name", + "admin_site_description": "Site description", + "admin_site_keywords": "Site keywords", + "admin_site_robots": "Robots", + "admin_site_title": "Site title", + "admin_system": "System", + "admin_cache_driver": "Cache driver", + "admin_cache_enabled": "Cache enabled", + "admin_cache_lifetime": "Cache lifetime", + "admin_cache_prefix": "Cache prefix", + "admin_charset": "Charset", + "admin_date_format": "Date format", + "admin_errors_display": "Display errors", + "admin_locale": "Locale", + "admin_entry_main": "Main entry", + "admin_theme": "Theme", + "admin_timezone": "Timezone", + "admin_username": "Username", + "admin_create_user": "Create User", + "admin_create_new_user": "Create New User", + "admin_web_server": "Web Server", + "admin_web_server_php_interface": "WebServer to PHP Interface", + "admin_create_new_category": "Create New Category", + "admin_delete_category": "Delete Category", + "admin_create_new_item": "Create New Item", + "admin_delete": "Delete", + "admin_order": "Order", + "admin_edit_category": "Edit category", + "admin_fieldsets": "Fieldsets", + "admin_template_create_new": "Create New Template", + "admin_create_new_fieldset": "Create New Fieldset", + "admin_duplicate": "Duplicate", + "admin_summary": "Summary", + "admin_snippet": "Snippet", + "admin_type": "Type", + "admin_partial": "Partial", + "admin_clone": "Clone", + "admin_create_new_snippet": "Create New Snippet", + "admin_message_snippet_was_not_deleted": "Snippet was not deleted", + "admin_message_snippet_was_not_renamed": "Snippet was not renamed", + "admin_message_snippet_was_not_duplicated": "Snippet was not duplicated", + "admin_message_snippet_was_not_saved": "Snippet was not saved", + "admin_create_new_template": "Create New Template", + "admin_message_template_created": "Template created", + "admin_message_template_deleted": "Template deleted", + "admin_message_template_renamed": "Template renamed", + "admin_message_template_duplicated": "Template duplicated", + "admin_message_template_saved": "Template saved", + "admin_message_template_was_not_created": "Template was not renamed", + "admin_message_partial_was_not_created": "Partial was not renamed", + "admin_message_partial_created": "Partial created", + "admin_message_partial_deleted": "Partial deleted", + "admin_message_partial_was_not_deleted": "Partial was not deleted", + "admin_message_snippet_saved": "Snippet saved", + "admin_message_snippet_created": "Snippet created", + "admin_message_snippet_was_not_created": "Snippet was not created", + "admin_message_snippet_deleted": "Snippet deleted", + "admin_message_snippet_renamed": "Snippet renamed", + "admin_message_snippet_duplicated": "Snippet duplicated", + "admin_message_fieldset_saved": "Fieldset saved", + "admin_message_fieldset_created": "Fieldset created", + "admin_message_fieldset_deleted": "Fieldset deleted", + "admin_message_fieldset_renamed": "Fieldset renamed", + "admin_message_fieldset_duplicated": "Fieldset duplicated", + "admin_message_entry_duplicated": "Entry duplicated", + "admin_message_entry_was_not_duplicated": "Entry was not duplicated", + "admin_message_cache_files_deleted": "Cache files deleted", + "admin_message_entry_changes_saved": "Changes successfully saved", + "admin_message_entry_changes_not_saved": "Changes not saved", + "admin_message_entry_cloned": "Entry cloned", + "admin_message_entry_created": "Entry created", + "admin_message_entry_was_not_created": "Entry was not created", + "admin_message_entry_deleted": "Entry deleted", + "admin_message_entry_was_not_renamed": "Entry was not renamed", + "admin_message_entry_was_not_deleted": "Entry was not deleted", + "admin_message_entry_file_deleted": "File successfully deleted", + "admin_message_entry_file_uploaded": "File successfully uploaded", + "admin_message_entry_file_not_uploaded": "File was not uploaded", + "admin_message_entry_moved": "Entry moved", + "admin_message_entry_was_not_moved": "Entry was not moved", + "admin_message_entry_renamed": "Entry renamed", + "admin_message_settings_saved": "Settings saved", + "admin_message_settings_was_not_saved": "Settings was not saved", + "admin_message_wrong_username_password": "Wrong username or password", + "admin_quality": "Quality", + "admin_width": "Width", + "admin_height": "Height", + "admin_accept_file_types": "Accept file types", + "admin_embeded_code": "Embeded Code", + "admin_shortcode": "Shortcode", + "admin_php_code": "PHP Code", + "admin_choose_files_to_upload": "Choose file", + "admin_browse_files": "Browse", + "admin_copy": "Copy", + "admin_admin_panel": "Admin Panel", + "admin_light": "Light", + "admin_dark": "Dark", + "admin_name": "Name", + "admin_memcached_server": "Memcached Server", + "admin_memcached_port": "Memcached Port", + "admin_redis_socket": "Redis Socket", + "admin_redis_password": "Redis Password", + "admin_redis_server": "Redis Server", + "admin_redis_port": "Redis Port", + "admin_sqlite3_database": "SQLite3 Database", + "admin_sqlite3_table": "SQLite3 Table", + "admin_error_name_empty_input": "Name has to be an alphanumeric value (from 1 chars)", + "admin_error_title_empty_input": "Title has to be an alphanumeric value (from 1 chars)", + "admin_entries_visible": "Visible", + "admin_entries_draft": "Draft", + "admin_entries_hidden": "Hidden", + "admin_menu_item_title": "Title", + "admin_menu_item_url": "Url", + "admin_menu_item_target": "Target", + "admin_menu_item_order": "Order", + "admin_template_code": "Template code" +} diff --git a/site/plugins/admin/languages/cs.yaml b/site/plugins/admin/languages/cs.yaml deleted file mode 100644 index 6435c21a..00000000 --- a/site/plugins/admin/languages/cs.yaml +++ /dev/null @@ -1,76 +0,0 @@ -admin: "Admin" -admin_title: "Název" -admin_description: "Popis" -admin_keywords: "Klíčová slova" -admin_username: "Uživatelské jméno" -admin_password: "Heslo" -admin_login: "Přihlášení" -admin_entries_delete: "Smazat" -admin_entries_heading: "Stránky" -admin_entries_name: "Jméno" -admin_entries_url: "Url" -admin_entries_create_new: "Vytvořit novou stránku" -admin_save: "Uložit" -admin_entries_entry: "Stránka" -admin_entries_title: "Nadpis" -admin_entries_parent_entry: "Rodičovská stránka" -admin_create: "Vytvořit" -admin_menu_entries: "Stránky" -admin_menu_content: "Obsah" -admin_menu_content_entries: "Stránky" -admin_menu_extends: "Rozšíření" -admin_menu_extends_plugins: "Zásuvné moduly" -admin_menu_extends_themes: "Témata vzhledu" -admin_menu_system: "Systém" -admin_menu_system_settings: "Nastavení" -admin_menu_system_information: "Informace" -admin_menu_help: "Nápověda" -admin_menu_help_documentation: "Dokumentace" -admin_menu_view_site: "Zobrazit web" -admin_menu_logout: "Odhlásit" -admin_entries_content: "Obsah stránek" -admin_entries_edit_entry: "Upravit stránku" -admin_cancel: "Zpět" -admin_entries_visibility: "Viditelnost" -admin_entries_description: "Popis" -admin_entries_template: "Šablona" -admin_entries_date: "Datum" -admin_email: "E-mail" -admin_users_create_new: "Vytvořit nového uživatele" -admin_users_create: "Vytvořit uživatele" -admin_entries_rename_entry: "Přejmenovat stránku" -admin_entries_rename: "Přejmenovat" -admin_entries_attributes: "Vlastnosti stránky" -admin_entries_publish: "Zveřejnit" -admin_entries_switch_to_expert_mode: "Přepnout do pokročilého modu" -admin_entries_switch_back_to_editor_mode: "Přepnout zpět do editorského módu" -admin_entries_files: "Soubory" -admin_entries_files_upload: "Nahrát" -admin_information_heading: "Informace" -admin_system_settings_heading: "Nastavení" -admin_system_settings_site: "Webové stránky" -admin_system_settings_system: "Systém" -admin_system_clear_cache: "Vyčistit cache" -admin_system_settings_site_title: "Název webu" -admin_system_settings_site_description: "Popis webu" -admin_system_settings_site_keywords: "Klíčová slova webu" -admin_system_settings_site_robots: "Robots" -admin_system_settings_site_author_name: "Jméno autora" -admin_system_settings_site_author_email: "E-mail autora" -admin_system_settings_system_timezone: "Časová zóna" -admin_system_settings_system_date_format: "Formát data" -admin_system_settings_system_charset: "Znaková sada" -admin_system_settings_system_theme: "Téma vzhledu" -admin_system_settings_system_locale: "Jazykové nastavení" -admin_system_settings_system_entries_main: "Hlavní stránka" -admin_system_settings_system_errors_display: "Zobrazovat chyby" -admin_system_settings_system_cache_enabled: "Používat cache" -admin_system_settings_system_cache_prefix: "Prefix cache" -admin_system_settings_system_cache_driver: "Driver pro cache" -admin_system_settings_system_cache_lifetime: "Životnost cache" -admin_entries_image_preview: "Náhled obrázku" -admin_plugins_heading: "Zásuvné moduly" -admin_plugins_status: "Stav" -admin_plugins_status_enabled: "povoleno" -admin_plugins_status_disabled: "zakázáno" -admin_plugins_name: "Název" diff --git a/site/plugins/admin/languages/de.yaml b/site/plugins/admin/languages/de.yaml deleted file mode 100644 index 7a4ecfba..00000000 --- a/site/plugins/admin/languages/de.yaml +++ /dev/null @@ -1,143 +0,0 @@ -admin: Admin -admin_cache: Cache -admin_cancel: Abbrechen -admin_create: Erstellen -admin_debugging: Debugging -admin_description: Beschreibung -admin_email: E-Mail -admin_flextype_admin_version: Flextype Admin Version -admin_flextype_core_version: Flextype Core Version -admin_information_heading: Information -admin_installed: Installiert -admin_keywords: "Keywords" -admin_login: "Login" -admin_menu_content: "Inhalt" -admin_menu_content_entries: "Seiten" -admin_menu_extends: "Erweiterungen" -admin_menu_extends_plugins: "Plugins" -admin_menu_extends_themes: "Themes" -admin_menu_help: "Hilfe" -admin_menu_help_documentation: "Dokumentation" -admin_menu_logout: "Ausloggen" -admin_menu_entries: "Seiten" -admin_menu_profile: "Profile" -admin_menu_system: "System" -admin_menu_system_information: "Information" -admin_menu_system_settings: "Einstellungen" -admin_menu_view_site: "Seite ansehen" -admin_message_cache_files_deleted: "Cache Dateien gelöscht" -admin_message_entry_changes_saved: "Einstellungen erfolgreich gespeichert" -admin_message_entry_cloned: "Seite dupliziert" -admin_message_entry_created: "Seite erstellt" -admin_message_entry_deleted: "Seite gelöscht" -admin_message_entry_file_deleted: "Datei erfolgreich gelöscht" -admin_message_entry_file_uploaded: "Datei erfolgreich hochgeladen" -admin_message_entry_moved: "Seite verschoben" -admin_message_entry_renamed: "Seite umbenannt" -admin_message_settings_saved: "Einstellungen gespeichert" -admin_message_wrong_username_password: "Falscher Benutzername oder Passwort" -admin_not_installed: "Nicht installiert" -admin_off: "Aus" -admin_on: "An" -admin_add: "Hinzufügen" -admin_entries_attributes: "Seitenattribute" -admin_entries_fieldset_for_template: "Fieldset für Templates" -admin_clone: "Klonen" -admin_entries_content: "Inhalt" -admin_entries_create_new: "Neue Seite erstellen" -admin_entries_date: "Datum" -admin_entries_delete: "Löschen" -admin_entries_description: "Beschreibung" -admin_entries_draft: "Entwurf" -admin_entries_edit: "Bearbeiten" -admin_entries_edit_blocks: "Blöcke" -admin_entries_edit_media: "Mediendateien" -admin_entries_edit_entry: "Seite bearbeiten" -admin_entries_edit_settings: "Einstellungen" -admin_entries_edit_template: "Template" -admin_entries_edit_templates: "Templates" -admin_entries_editor: "Inhalt" -admin_entries_editor_fieldset: "Fieldset" -admin_entries_editor_source: "Quelle" -admin_entries_editor_template: "Template" -admin_entries_error_name_empty_input: "Name muss aus alphanumerischen Zeichen bestehen (3-12 Zeichen)" -admin_entries_error_title_empty_input: "Titel muss aus alphanumerischer Zeichen bestehen (3-12 Zeichen)" -admin_entries_files: "Dateien" -admin_entries_files_delete: "Löschen" -admin_entries_files_upload: "Hochladen" -admin_entries_heading: "Seiten" -admin_entries_hidden: "Versteckt" -admin_entries_image_preview: "Bildvorschau" -admin_entries_move: "Verschieben" -admin_entries_name: "Name" -admin_entries_entry: "Seite" -admin_entries_parent_entry: "Übergeordnete Seite" -admin_entries_preview: "Vorschau" -admin_entries_publish: "Veröffentlichen" -admin_entries_rename: "Umbenennen" -admin_entries_rename_entry: "Umbenennen" -admin_entries_save_entry: Seite speichern -admin_entries_settings: "Einstellungen" -admin_entries_switch_back_to_editor_mode: "In den Basismodus wechseln" -admin_entries_switch_to_expert_mode: "In den Expertenmodus wechseln" -admin_entries_template: "Template" -admin_entries_title: "Titel" -admin_entries_url: "Url" -admin_entries_view: "Ansehen" -admin_entries_visibility: "Sichtbarkeit" -admin_entries_visible: "Sichtbar" -admin_password: "Passwort" -admin_php_built_on: "PHP compiliert auf" -admin_php_version: "PHP Version" -admin_plugins_author_email: "Autor E-mail" -admin_plugins_author_name: "Autor Name" -admin_plugins_author_url: "Autor URL" -admin_plugins_bugs: "Bekannte Fehler" -admin_plugins_description: "Beschreibung" -admin_plugins_get_more_plugins: "Mehr Plugins installieren" -admin_plugins_heading: "Plugins" -admin_plugins_homeentry: "Homeentry" -admin_plugins_info: "Info" -admin_plugins_license: "Lizenz" -admin_plugins_name: "Name" -admin_plugins_status: "Status" -admin_plugins_status_disabled: "Deaktiviert" -admin_plugins_status_enabled: "Aktiviert" -admin_plugins_version: "Version" -admin_role: "Rolle" -admin_save: "Speichern" -admin_security_check_results: "Ergebnisse der Sicherheitschecks" -admin_security_check_results_debug: "Aufgrund der Art und Menge an Informationen, die eine Fehlermeldung Eindringlingen geben kann wenn DISPLAY ERRORS aktiviert ist, empfehlen wir dringend, DISPLAY ERRORS in Produktionssystemen zu deaktivieren." -admin_security_check_results_htaccess: "Die Flextype .htaccess Datei ist beschreibbar. Es wird empfohlen, alle Schreibberechtigungen zu entfernen.
Auf UNIX-Systemen geht dies mit dem folgenden Befehl: chmod a-w :path" -admin_security_check_results_index: "Die Flextype index.php Datei ist beschreibbar. Es wird empfohlen, alle Schreibberechtigungen zu entfernen.
Auf UNIX-Systemen geht dies mit dem folgenden Befehl: chmod a-w :path" -admin_server: "Server" -admin_settings: "Einstellungen" -admin_site: "Seite" -admin_system: "System" -admin_system_clear_cache: "Cache löschen" -admin_system_settings_heading: "Einstellungen" -admin_system_settings_site: "Seite" -admin_system_settings_site_author_email: "Autor E-Mail" -admin_system_settings_site_author_name: "Autor Name" -admin_system_settings_site_description: "Seitenbeschreibung" -admin_system_settings_site_keywords: "Seitenkeywords" -admin_system_settings_site_robots: "Robots" -admin_system_settings_site_title: "Seitentitel" -admin_system_settings_system: "System" -admin_system_settings_system_cache_driver: "Cache Treiber" -admin_system_settings_system_cache_enabled: "Cache aktivieren" -admin_system_settings_system_cache_lifetime: "Cache Lebensdauer" -admin_system_settings_system_cache_prefix: "Cache Prefix" -admin_system_settings_system_charset: "Zeichensatz" -admin_system_settings_system_date_format: "Datumsformat" -admin_system_settings_system_errors_display: "Fehler anzeigen" -admin_system_settings_system_locale: "Sprache" -admin_system_settings_system_entries_main: "Startseite" -admin_system_settings_system_theme: "Theme" -admin_system_settings_system_timezone: "Zeitzone" -admin_username: "Benutzername" -admin_users_create: "Benutzer erstellen" -admin_users_create_new: "Neuen Benutzer anlegen" -admin_view_site: "Seite ansehen" -admin_web_server: "Web Server" -admin_web_server_php_interface: "Netzwerkprotokoll" \ No newline at end of file diff --git a/site/plugins/admin/languages/en.yaml b/site/plugins/admin/languages/en.yaml deleted file mode 100755 index 02117faf..00000000 --- a/site/plugins/admin/languages/en.yaml +++ /dev/null @@ -1,244 +0,0 @@ -admin: "Admin" -admin_cache: "Cache" -admin_cancel: "Cancel" -admin_create: "Create" -admin_debugging: "Debugging" -admin_description: "Description" -admin_email: "Email" -admin_flextype_version: "Flextype Version" -admin_information_heading: "Information" -admin_installed: "Installed" -admin_keywords: "Keywords" -admin_login: "Login" -admin_menu_content_entries: "Entries" -admin_menu_extends: "Extends" -admin_menu_extends_plugins: "Plugins" -admin_menu_extends_themes: "Themes" -admin_menu_help: "Help" -admin_menu_help_documentation: "Getting Help" -admin_menu_logout: "Logout" -admin_menu_entries: "Entries" -admin_menu_profile: "Profile" -admin_menu_system: "System" -admin_menu_system_information: "Information" -admin_menu_system_settings: "Settings" -admin_menu_view_site: "View Site" -admin_menu_extends_snippets: "Snippets" -admin_message_cache_files_deleted: "Cache files deleted" -admin_message_entry_changes_saved: "Changes successfully saved" -admin_message_entry_cloned: "Entry cloned" -admin_message_entry_created: "Entry created" -admin_message_entry_deleted: "Entry deleted" -admin_message_entry_file_deleted: "File successfully deleted" -admin_message_entry_file_uploaded: "File successfully uploaded" -admin_message_entry_file_not_uploaded: "File was not uploaded" -admin_message_entry_moved: "Entry moved" -admin_message_entry_renamed: "Entry renamed" -admin_message_settings_saved: "Settings saved" -admin_message_wrong_username_password: "Wrong username or password" -admin_not_installed: "Not Installed" -admin_off: "off" -admin_on: "on" -admin_add: "Add" -admin_entries_attributes: "Entry Attributes" -admin_entries_fieldset_for_template: "Fieldset for template" -admin_content: "Content" -admin_entries_create_new: "Create New Entry" -admin_date: "Date" -admin_entries_delete: "Delete" -admin_entries_description: "Description" -admin_entries_draft: "Draft" -admin_entries_edit: "Edit" -admin_menu_content_menus: "Menus" -admin_entries_edit_blocks: "Blocks" -admin_entries_edit_media: "Media" -admin_entries_edit_entry: "Edit entry" -admin_entries_edit_settings: "Settings" -admin_entries_edit_template: "Template" -admin_entries_edit_templates: "Templates" -admin_entries_editor: "Entry" -admin_entries_editor_fieldset: "Fieldset" -admin_entries_editor_source: "Source" -admin_entries_editor_template: "Template" -admin_entries_error_name_empty_input: "Name has to be an alphanumeric value (from 1 chars)" -admin_entries_error_title_empty_input: "Title has to be an alphanumeric value (from 1 chars)" -admin_entries_files: "Files" -admin_entries_files_delete: "Delete" -admin_entries_files_upload: "Upload" -admin_entries_heading: "Entries" -admin_entries_hidden: "Hidden" -admin_entries_image_preview: "Image preview" -admin_move: "Move" -admin_entries_name: "Name" -admin_entries_entry: "Entry" -admin_entries_parent_entry: "Entry parent" -admin_entries_preview: "Preview" -admin_entries_publish: "Publish" -admin_entries_rename: "Rename" -admin_entries_rename_entry: "Rename" -admin_entries_save_entry: "Save entry" -admin_entries_settings: "Settings" -admin_entries_switch_back_to_editor_mode: "Editor mode" -admin_entries_switch_to_expert_mode: "Expert mode" -admin_entries_template: "Template" -admin_entries_title: "Title" -admin_entries_url: "Url" -admin_entries_view: "View" -admin_visibility: "Visibility" -admin_entries_visible: "Visible" -admin_password: "Password" -admin_php_built_on: "PHP Built On" -admin_php_version: "PHP Version" -admin_plugins_author_email: "Author email" -admin_plugins_author_name: "Author name" -admin_plugins_author_url: "Author url" -admin_plugins_bugs: "Bugs" -admin_plugins_description: "Description" -admin_plugins_get_more_plugins: "Get More Plugins" -admin_plugins_heading: "Plugins" -admin_plugins_homepage: "Homepage" -admin_plugins_info: "Info" -admin_plugins_license: "License" -admin_plugins_name: "Name" -admin_plugins_status: "Status" -admin_plugins_status_disabled: "disabled" -admin_plugins_status_enabled: "enabled" -admin_plugins_version: "Version" -admin_role: "Role" -admin_save: "Save" -admin_security_check_results: "Security check results" -admin_security_check_results_debug: "Due to the type and amount of information an error might give intruders when DISPLAY ERRORS TRUE, we strongly advise setting DISPLAY ERRORS FALSE in production systems." -admin_security_check_results_htaccess: "The Flextype .htaccess file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path" -admin_security_check_results_index: "The Flextype index.php file has been found to be writable. We would advise you to remove all write permissions.
You can do this on unix systems with: chmod a-w :path" -admin_server: "Server" -admin_settings: "Settings" -admin_site: "Site" -admin_system: "System" -admin_system_clear_cache: "Clear cache" -admin_system_settings_system_entries_error404_title: "Error404 entry title" -admin_system_settings_system_entries_error404_description: "Error404 entry description" -admin_system_settings_system_entries_error404_content: "Error404 entry content" -admin_system_settings_system_entries_error404_template: "Error404 entry template" -admin_system_settings_heading: "Settings" -admin_system_settings_site: "Site" -admin_system_settings_general: "General" -admin_system_settings_error_404_page: "Error 404 page" -admin_system_settings_debuggig: "Debugging" -admin_system_settings_cache: "Cache" -admin_system_settings_site_author_email: "Author email" -admin_system_settings_site_author_name: "Author name" -admin_system_settings_site_description: "Site description" -admin_system_settings_site_keywords: "Site keywords" -admin_system_settings_site_robots: "Robots" -admin_system_settings_site_title: "Site title" -admin_system_settings_system: "System" -admin_system_settings_system_cache_driver: "Cache driver" -admin_system_settings_system_cache_enabled: "Cache enabled" -admin_system_settings_system_cache_lifetime: "Cache lifetime" -admin_system_settings_system_cache_prefix: "Cache prefix" -admin_system_settings_system_charset: "Charset" -admin_system_settings_system_date_format: "Date format" -admin_system_settings_system_errors_display: "Display errors" -admin_system_settings_system_locale: "Locale" -admin_system_settings_system_entries_main: "Main entry" -admin_system_settings_system_theme: "Theme" -admin_system_settings_system_timezone: "Timezone" -admin_username: "Username" -admin_users_create: "Create User" -admin_users_create_new: "Create New User" -admin_view_site: "View Site" -admin_web_server: "Web Server" -admin_web_server_php_interface: "WebServer to PHP Interface" -admin_menus_heading: "Menus" -admin_menu: "Menu" -admin_menus: "Menu" -admin_menus_create_new_category: "Create New Category" -admin_menus_delete_category: "Delete Category" -admin_menus_create_new_item: "Create New Item" -admin_menus_name: "Name" -admin_menu_item_edit: "Edit" -admin_menu_item_delete: "Delete" -admin_menus_url: "Url" -admin_menus_order: "Order" -admin_menus_edit_category: "Edit category" -admin_create_new_menu: "Create New Menu" -admin_menu_extends_fieldsets: "Fieldsets" -admin_menu_extends_templates: "Templates" -admin_preview: "Preview" -admin_template: "Template" -admin_templates: "Templates" -admin_template_create_new: "Create New Template" -admin_fieldset: "Fieldset" -admin_create_new_fieldset: "Create New Fieldset" -admin_name: "Name" -admin_fieldsets: "Fieldsets" -admin_edit: "Edit" -admin_rename: "Rename" -admin_duplicate: "Duplicate" -admin_delete: "Delete" -admin_title: "Title" -admin_summary: "Summary" -admin_snippet: "Snippet" -admin_snippets: "Snippets" -admin_type: "Type" -admin_partial: "Partial" -admin_clone: "Clone" -admin_create_new_snippet: "Create New Snippet" -admin_create_new_template: "Create New Template" -admin_message_template_created: "Template created" -admin_message_template_deleted: "Template deleted" -admin_message_template_renamed: "Template renamed" -admin_message_template_duplicated: "Template duplicated" -admin_message_template_saved: "Template saved" -admin_message_snippet_saved: "Snippet saved" -admin_message_snippet_created: "Snippet created" -admin_message_snippet_deleted: "Snippet deleted" -admin_message_snippet_renamed: "Snippet renamed" -admin_message_snippet_duplicated: "Snippet duplicated" -admin_message_menu_saved: "Menu saved" -admin_message_menu_created: "Menu created" -admin_message_menu_deleted: "Menu deleted" -admin_message_menu_renamed: "Menu renamed" -admin_message_menu_duplicated: "Menu duplicated" -admin_message_fieldset_saved: "Fieldset saved" -admin_message_fieldset_created: "Fieldset created" -admin_message_fieldset_deleted: "Fieldset deleted" -admin_message_fieldset_renamed: "Fieldset renamed" -admin_message_fieldset_duplicated: "Fieldset duplicated" -admin_menus_error_name_empty_input: "Name has to be an alphanumeric value (from 1 chars)" -admin_menus_error_title_empty_input: "Title has to be an alphanumeric value (from 1 chars)" -admin_fieldsets_error_name_empty_input: "Name has to be an alphanumeric value (from 1 chars)" -admin_fieldsets_error_title_empty_input: "Title has to be an alphanumeric value (from 1 chars)" -admin_templates_error_name_empty_input: "Name has to be an alphanumeric value (from 1 chars)" -admin_snippets_error_name_empty_input: "Name has to be an alphanumeric value (from 1 chars)" -admin_system_settings_system_cache_enabled_false: "Off" -admin_system_settings_system_cache_enabled_true: "On" -admin_system_settings_system_errors_enabled_false: "Off" -admin_system_settings_system_errors_enabled_true: "On" -admin_system_settings_media: "Media" -admin_system_settings_system_upload_images_quality: "Quality" -admin_system_settings_system_upload_images_width: "Width" -admin_system_settings_system_upload_images_height: "Height" -admin_system_settings_system_upload_accept_file_types: "Accept file types" -admin_embeded_code: "Embeded Code" -admin_shortcode: "Shortcode" -admin_php_code: "PHP Code" -admin_entries_choose_files_to_upload: "Choose file" -admin_entries_browse_files: "Browse" -admin_copy: "Copy" -admin_system_settings_admin_panel: "Admin Panel" -admin_system_settings_admin_panel_theme: "Theme" -admin_system_settings_admin_panel_theme_light: "Light" -admin_system_settings_admin_panel_theme_dark: "Dark" -admin_entries_move: "Move" -admin_menu_name: "Name" -admin_system_settings_cache_memcache_server: "Memcache Server" -admin_system_settings_cache_memcache_port: "Memcache Port" -admin_system_settings_cache_memcached_server: "Memcached Server" -admin_system_settings_cache_memcached_port: "Memcached Port" -admin_system_settings_cache_redis_socket: "Redis Socket" -admin_system_settings_cache_redis_password: "Redis Password" -admin_system_settings_cache_redis_server: "Redis Server" -admin_system_settings_cache_redis_port: "Redis Port" -admin_system_settings_cache_sqlite3_database: "SQLite3 Database" -admin_system_settings_cache_sqlite3_table: "SQLite3 Table" diff --git a/site/plugins/admin/languages/hr.yaml b/site/plugins/admin/languages/hr.yaml deleted file mode 100644 index 11f99f8f..00000000 --- a/site/plugins/admin/languages/hr.yaml +++ /dev/null @@ -1,144 +0,0 @@ -admin: "Admin" -admin_cache: "Cache" -admin_cancel: "Otkaži" -admin_create: "Stvori" -admin_debugging: "Uklanjanje bugova" -admin_description: "Opis" -admin_email: "Email" -admin_flextype_admin_version: "Flextype Admin Verzija" -admin_flextype_core_version: "Flextype Core Verzija" -admin_information_heading: "Informacije" -admin_installed: "Instaliran" -admin_keywords: "Ključne riječi" -admin_login: "Prijava" -admin_menu_content: "Sadržaj" -admin_menu_content_entries: "Stranice" -admin_menu_extends: "Proširuje" -admin_menu_extends_plugins: "Dodaci" -admin_menu_extends_themes: "Teme" -admin_menu_help: "Pomoć" -admin_menu_help_documentation: "Get Help" -admin_menu_logout: "Odjava" -admin_menu_entries: "Stranice" -admin_menu_profile: "Profil" -admin_menu_system: "Sustav" -admin_menu_system_information: "Informacije" -admin_menu_system_settings: "Postavke" -admin_menu_view_site: "Pogledaj web stranicu" -admin_message_cache_files_deleted: "Cache datoteke obrisane" -admin_message_entry_changes_saved: "Promjene su uspješno sačuvane" -admin_message_entry_cloned: "Stranica je klonirana" -admin_message_entry_created: "Stranica je stvorena" -admin_message_entry_deleted: "Stranica je obrisana" -admin_message_entry_file_deleted: "Datoteka je uspješno obrisana" -admin_message_entry_file_uploaded: "Datoteka je uspješno uploadana" -admin_message_entry_moved: "Stranica je maknuta" -admin_message_entry_renamed: "Stranici je promijenjeno ime" -admin_message_settings_saved: "Postavke su sačuvane" -admin_message_wrong_username_password: "Pogrešno korisničko ime ili lozinka" -admin_not_installed: "Nije instaliran" -admin_off: "isključeno" -admin_on: "uključeno" -admin_add: "Dodaj" -admin_entries_attributes: "Atributi stranice" -admin_entries_fieldset_for_template: "Fieldset za predložak" -admin_clone: "Kloniraj" -admin_entries_content: "Sadržaj" -admin_entries_create_new: "Stvori novu stranicu" -admin_entries_date: "Datum" -admin_entries_delete: "Obriši" -admin_entries_description: "Opis" -admin_entries_draft: "Skica" -admin_entries_edit: "Uredi" -admin_entries_edit_blocks: "Blokovi" -admin_entries_edit_media: "Media" -admin_entries_edit_entry: "Uredi stranicu" -admin_entries_edit_settings: "Postavke" -admin_entries_edit_template: "Predložak" -admin_entries_edit_templates: "Predlošci" -admin_entries_editor: "Sadržaj" -admin_entries_editor_fieldset: "Fieldset" -admin_entries_editor_source: "Izvor" -admin_entries_editor_template: "Predložak" -admin_entries_error_name_empty_input: "Ime mora biti alfanumerička vrijednost (3-12 chars)" -admin_entries_error_title_empty_input: "Naslov mora biti alfanumerička vrijednost (3-12 chars)" -admin_entries_files: "Datoteke" -admin_entries_files_delete: "Obriši" -admin_entries_files_upload: "Upload" -admin_entries_heading: "Stranice" -admin_entries_hidden: "Skriven" -admin_entries_image_preview: "Image preview" -admin_entries_move: "Makni" -admin_entries_name: "Ime" -admin_entries_entry: "Stranica" -admin_entries_parent_entry: "Roditeljska stranica" -admin_entries_preview: "Pregledaj" -admin_entries_publish: "Objavi" -admin_entries_rename: "Preimenuj" -admin_entries_rename_entry: "Preimenuj" -admin_entries_save_entry: "Sačuvaj stranicu" -admin_entries_settings: "Postavke" -admin_entries_switch_back_to_editor_mode: "Mod uređivanja" -admin_entries_switch_to_expert_mode: "Stručni mod" -admin_entries_template: "Predložak" -admin_entries_title: "Naslov" -admin_entries_url: "Link" -admin_entries_view: "Pregled" -admin_entries_visibility: "Vidljivost" -admin_entries_visible: "Vidljivo" -admin_password: "Lozinka" -admin_php_built_on: "PHP Built On" -admin_php_version: "PHP Verzija" -admin_plugins_author_email: "Autorov email" -admin_plugins_author_name: "Autorovo ime" -admin_plugins_author_url: "Autorov link" -admin_plugins_bugs: "Bugovi" -admin_plugins_description: "Opis" -admin_plugins_get_more_plugins: "Nabavi više dodataka" -admin_plugins_heading: "Dodaci" -admin_plugins_homeentry: "Homeentry" -admin_plugins_info: "Info" -admin_plugins_license: "Licenca" -admin_plugins_name: "Ime" -admin_plugins_status: "Status" -admin_plugins_status_disabled: "onemogućen" -admin_plugins_status_enabled: "omogućen" -admin_plugins_version: "Verzija" -admin_role: "Uloga" -admin_save: "Sačuvaj" -admin_security_check_results: "Rezultati provjere sigurnosti" -admin_security_check_results_debug: "Zbog vrste i količine informacija koje bi greška mogla dati uljezima kada je postavljeno DISPLAY ERRORS TRUE, preporučeno je postavljanje DISPLAY ERRORS FALSE u produkciji." -admin_security_check_results_htaccess: "U Flextype .htaccess datoteku je moguće zapisivati. Savjetujemo vam da maknete sva dopuštenja za zapisivanje.
Na unix sustavima ovo možete učiniti sa naredbom: chmod a-w :path" -admin_security_check_results_index: "U Flextype index.php datoteku je moguće zapisivati. Savjetujemo vam da maknete sva dopuštenja za zapisivanje.
Na unix sustavima ovo možete učiniti sa naredbom: chmod a-w :path" -admin_server: "Server" -admin_settings: "Postavke" -admin_site: "Sajt" -admin_system: "Sustav" -admin_system_clear_cache: "Očisti cache" -admin_system_settings_heading: "Postavke" -admin_system_settings_site: "Sajt" -admin_system_settings_site_author_email: "Autorov email" -admin_system_settings_site_author_name: "Autorovo name" -admin_system_settings_site_description: "Opis sajta" -admin_system_settings_site_keywords: "Ključne riječi sajta [SEO]" -admin_system_settings_site_robots: "Roboti" -admin_system_settings_site_title: "Ime sajta" -admin_system_settings_system: "Sustav" -admin_system_settings_system_cache_driver: "Cache driver" -admin_system_settings_system_cache_enabled: "Cache je omogućen" -admin_system_settings_system_cache_lifetime: "Životni vijek cachea " -admin_system_settings_system_cache_prefix: "Cache prefix" -admin_system_settings_system_charset: "Charset" -admin_system_settings_system_date_format: "Format datuma" -admin_system_settings_system_errors_display: "Prikaži greške" -admin_system_settings_system_locale: "Jezik" -admin_system_settings_system_entries_main: "Glavna stranica" -admin_system_settings_system_theme: "Tema" -admin_system_settings_system_timezone: "Vremenska zona" -admin_title: "Naslov" -admin_username: "Korisničko ime" -admin_users_create: "Stvori korisnika" -admin_users_create_new: "Stvori novog korisnika" -admin_view_site: "Vidi sajt" -admin_web_server: "Web Server" -admin_web_server_php_interface: "WebServer PHP Sučelja" diff --git a/site/plugins/admin/languages/pt.yaml b/site/plugins/admin/languages/pt.yaml deleted file mode 100644 index 407e29d5..00000000 --- a/site/plugins/admin/languages/pt.yaml +++ /dev/null @@ -1,203 +0,0 @@ -admin: "Admin" -admin_cache: "Cache" -admin_cancel: "Cancelar" -admin_create: "Criar" -admin_debugging: "Depurando" -admin_description: "Descrição" -admin_email: "E-mail" -admin_flextype_admin_version: "Versão do Administrador do Flextype" -admin_flextype_core_version: "Versão principal do Flextype" -admin_information_heading: "Informação" -admin_installed: "Instalado" -admin_keywords: "Palavras-chave" -admin_login: "Login" -admin_menu_content_entries: "Entradas" -admin_menu_extends: "Estende" -admin_menu_extends_plugins: "Plugins" -admin_menu_extends_themes: "Temas" -admin_menu_help: "Ajuda" -admin_menu_help_documentation: "Obtendo ajuda" -admin_menu_logout: "Logout" -admin_menu_entries: "Entradas" -admin_menu_profile: "Perfil" -admin_menu_system: "Sistema" -admin_menu_system_information: "Informação" -admin_menu_system_settings: "Configurações" -admin_menu_view_site: "Visualizar site" -admin_menu_extends_snippets: "Snippets" -admin_message_cache_files_deleted: "Arquivos de cache excluídos" -admin_message_entry_changes_saved: "Alterações salvas com sucesso" -admin_message_entry_cloned: "Entrada clonada" -admin_message_entry_created: "Entrada criada" -admin_message_entry_deleted: "Entrada excluída" -admin_message_entry_file_deleted: "Arquivo excluído com sucesso" -admin_message_entry_file_uploaded: "Arquivo carregado com sucesso" -admin_message_entry_moved: "Entrada movida" -admin_message_entry_renamed: "Entrada renomeada" -admin_message_settings_saved: "Configurações salvas" -admin_message_wrong_username_password: "Nome de usuário ou senha incorretos" -admin_not_installed: "Não instalado" -admin_off: "off" -admin_on: "on" -admin_add: "Adicionar" -admin_entries_attributes: "Atributos de Entrada" -admin_entries_fieldset_for_template: "Fieldset para modelo" -admin_content: "Conteúdo" -admin_entries_create_new: "Criar nova entrada" -admin_date: "data" -admin_entries_delete: "Excluir" -admin_entries_description: "Descrição" -admin_entries_draft: "Rascunho" -admin_entries_edit: "Editar" -admin_menu_content_menus: "Menus" -admin_entries_edit_blocks: "Blocos" -admin_entries_edit_media: "Mídia" -admin_entries_edit_entry: "Editar entrada" -admin_entries_edit_settings: "Configurações" -admin_entries_edit_template: "Template" -admin_entries_edit_templates: "Templates" -admin_entries_editor: "Entrada" -admin_entries_editor_fieldset: "Fieldset" -admin_entries_editor_source: "Source" -admin_entries_editor_template: "Template" -admin_entries_error_name_empty_input: "Nome tem que ser um valor alfanumérico (3-12 caracteres)" -admin_entries_error_title_empty_input: "O título tem que ser um valor alfanumérico (3-12 caracteres)" -admin_entries_files: "Arquivos" -admin_entries_files_delete: "Excluir" -admin_entries_files_upload: "Upload" -admin_entries_heading: "Entradas" -admin_entries_hidden: "Oculto" -admin_entries_image_preview: "Visualização de imagem" -admin_move: "Mover" -admin_entries_name: "Nome" -admin_entries_entry: "Entrada" -admin_entries_parent_entry: "Pai de entrada" -admin_entries_preview: "Visualizar" -admin_entries_publish: "Publicar" -admin_entries_rename: "Renomear" -admin_entries_rename_entry: "Renomear" -admin_entries_save_entry: "Salvar entrada" -admin_entries_settings: "Configurações" -admin_entries_switch_back_to_editor_mode: "modo de edição" -admin_entries_switch_to_expert_mode: "modo especialista" -admin_entries_template: "Template" -admin_entries_title: "Título" -admin_entries_url: "Url" -admin_entries_view: "Visualizar" -admin_visibility: "Visibilidade" -admin_entries_visible: "Visível" -admin_password: "Password" -admin_php_built_on: "PHP construído em" -admin_php_version: "Versão do PHP" -admin_plugins_author_email: "E-mail do autor" -admin_plugins_author_name: "Nome do autor" -admin_plugins_author_url: "URL do autor" -admin_plugins_bugs: "Bugs" -admin_plugins_description: "Descrição" -admin_plugins_get_more_plugins: "Obtenha mais plug-ins" -admin_plugins_heading: "Plugins" -admin_plugins_homeentry: "Homeentry" -admin_plugins_info: "Info" -admin_plugins_license: "Licença" -admin_plugins_name: "Nome" -admin_plugins_status: "Status" -admin_plugins_status_disabled: "desativado" -admin_plugins_status_enabled: "ativado" -admin_plugins_version: "Version" -admin_role: "Papel" -admin_save: "Salvar" -admin_security_check_results: "Resultados da verificação de segurança" -admin_security_check_results_debug: "Devido ao tipo e quantidade de informação que um erro pode dar aos intrusos quando DISPLAY ERROR TRUE, nós aconselhamos fortemente configurar ERROS DE EXIBIÇÃO FALSOS nos sistemas de produção." -admin_security_check_results_htaccess: "O arquivo .htaccess do Flextype foi encontrado para ser gravável. Aconselhamos que você remova todas as permissões de gravação.
Você pode fazer isso em sistemas unix com: chmod a-w: caminho " -admin_security_check_results_index: "O arquivo index.php do Flextype foi encontrado para ser gravável. Aconselhamos que você remova todas as permissões de gravação.
Você pode fazer isso em sistemas unix com: chmod a-w: path " -admin_server: "Servidor" -admin_settings: "Configurações" -admin_site: "Site" -admin_system: "Sistema" -admin_system_clear_cache: "Limpar cache" -admin_system_settings_system_entries_error404_title: "Título da entrada Error404" -admin_system_settings_system_entries_error404_description: "Descrição da entrada Error404" -admin_system_settings_system_entries_error404_content: "Conteúdo da entrada Error404" -admin_system_settings_system_entries_error404_template: "Modelo de entrada Error404" -admin_system_settings_heading: "Configurações" -admin_system_settings_site: "Site" -admin_system_settings_site_author_email: "Email do autor" -admin_system_settings_site_author_name: "Nome do autor" -admin_system_settings_site_description: "Descrição do site" -admin_system_settings_site_keywords: "Palavras-chave do site" -admin_system_settings_site_robots: "Robôs" -admin_system_settings_site_title: "Título do site" -admin_system_settings_system: "Sistema" -admin_system_settings_system_cache_driver: "Driver de cache" -admin_system_settings_system_cache_enabled: "Cache ativado" -admin_system_settings_system_cache_lifetime: "Vida útil do cache" -admin_system_settings_system_cache_prefix: "Prefixo de cache" -admin_system_settings_system_charset: "Charset" -admin_system_settings_system_date_format: "Formato de data" -admin_system_settings_system_errors_display: "Exibir erros" -admin_system_settings_system_locale: "Idioma" -admin_system_settings_system_entries_main: "Página Principal" -admin_system_settings_system_theme: "Tema" -admin_system_settings_system_timezone: "Fuso horário" -admin_username: "Username" -admin_users_create: "Criar usuário" -admin_users_create_new: "Criar novo usuário" -admin_view_site: "Visualizar site" -admin_web_server: "Servidor da Web" -admin_web_server_php_interface: "WebServer para a interface do PHP" -admin_menus_heading: "Menus" -admin_menu: "Menu" -admin_menus: "Menu" -admin_menus_create_new_category: "Criar nova categoria" -admin_menus_delete_category: "Excluir categoria" -admin_menus_create_new_item: "Criar novo item" -admin_menus_name: "Name" -admin_menu_item_edit: "Editar" -admin_menu_item_delete: "Excluir" -admin_menus_url: "Url" -admin_menus_order: "Pedido" -admin_menus_edit_category: "Editar categoria" -admin_create_new_menu: "Criar novo menu" -admin_menu_extends_fieldsets: "Fieldsets" -admin_menu_extends_templates: "Templates" -admin_preview: "Visualizar" -admin_template: "Template" -admin_templates: "Templates" -admin_template_create_new: "Criar novo modelo" -admin_fieldset: "Fieldset" -admin_create_new_fieldset: "Criar novo Fieldset" -admin_name: "Nome" -admin_fieldsets: "Fieldsets" -admin_edit: "Editar" -admin_rename: "Renomear" -admin_duplicate: "Duplicado" -admin_delete: "Excluir" -admin_title: "Title" -admin_summary: "Resumo" -admin_snippet: "Snippet" -admin_snippets: "Snippets" -admin_type: "Type" -admin_partial: "parcial" -admin_clone: ​​"Clone" -admin_create_new_snippet: "Criar novo snippet" -admin_create_new_template: "Criar novo modelo" -admin_message_template_created: "Modelo criado" -admin_message_template_deleted: "Modelo excluído" -admin_message_template_renamed: "Template renomeado" -admin_message_template_duplicated: "Modelo duplicado" -admin_message_template_saved: "Template salvo" -admin_message_snippet_saved: "Snippet salvo" -admin_message_snippet_created: "Snippet created" -admin_message_snippet_deleted: "Snippet excluído" -admin_message_snippet_renamed: "Snippet renomeado" -admin_message_snippet_duplicated: "Snippet duplicated" -admin_message_menu_saved: "Menu salvo" -admin_message_menu_created: "Menu criado" -admin_message_menu_deleted: "Menu excluído" -admin_message_menu_renamed: "Menu renomeado" -admin_message_menu_duplicated: "Menu duplicado" -admin_message_fieldset_saved: "Fieldset salvo" -admin_message_fieldset_created: "Fieldset criado" -admin_message_fieldset_deleted: "Fieldset excluído" -admin_message_fieldset_renamed: "Fieldset renomeado" -admin_message_fieldset_duplicated: "Fieldset duplicado" diff --git a/site/plugins/admin/languages/ru.yaml b/site/plugins/admin/languages/ru.yaml deleted file mode 100755 index a9a5402c..00000000 --- a/site/plugins/admin/languages/ru.yaml +++ /dev/null @@ -1,245 +0,0 @@ -admin: "Админ" -admin_add: "Добавить" -admin_cache: "Кеш" -admin_cancel: "Отмена" -admin_clone: "Клонировать" -admin_content: "Контент" -admin_create: "Создать" -admin_create_new_fieldset: "Создать новый набор полей" -admin_create_new_menu: "Создать новое меню" -admin_create_new_snippet: "Создать новый сниппет" -admin_create_new_template: "Создать новый шаблон" -admin_date: "Дата" -admin_debugging: "Отладка" -admin_delete: "Удалить" -admin_description: "Описание" -admin_duplicate: "Дублировать" -admin_edit: "Редактировать" -admin_email: "Электронная почта" -admin_entries_attributes: "Атрибуты записи" -admin_entries_create_new: "Создать новую запись" -admin_entries_delete: "Удалить" -admin_entries_description: "Описание" -admin_entries_draft: "Черновик" -admin_entries_edit: "Редактировать" -admin_entries_edit_blocks: "Блоки" -admin_entries_edit_entry: "Редактировать запись" -admin_entries_edit_media: "Медиа" -admin_entries_edit_settings: "Настройки" -admin_entries_edit_template: "Шаблон" -admin_entries_edit_templates: "Шаблоны" -admin_entries_editor: "Контент" -admin_entries_editor_fieldset: "Схема" -admin_entries_editor_source: "Код" -admin_entries_editor_template: "Шаблон" -admin_entries_entry: "Запись" -admin_entries_move: "Перенести" -admin_entries_error_name_empty_input: "Название должно быть буквенно-цифровым значением (от 1-го символа)" -admin_entries_error_title_empty_input: "Заголовок должно быть буквенно-цифровым значением (от 1-го символа)" -admin_entries_fieldset_for_template: "Схема шаблона" -admin_entries_files: "Файлы" -admin_entries_files_delete: "Удалить" -admin_entries_files_upload: "Загрузить файл" -admin_entries_heading: "Записи" -admin_entries_hidden: "Скрытый" -admin_entries_image_preview: "Просмотр изображения" -admin_entries_name: "Название" -admin_entries_parent_entry: "Родительская страница" -admin_entries_preview: "Просмотр" -admin_entries_publish: "Публиковать" -admin_entries_rename: "Переименовать" -admin_entries_rename_entry: "Переименовать" -admin_entries_save_entry: "Сохранить" -admin_entries_settings: "Настройки" -admin_entries_switch_back_to_editor_mode: "Режим редактора" -admin_entries_switch_to_expert_mode: "Экспертный режим" -admin_entries_template: "Шаблон" -admin_entries_title: "Заголовок" -admin_entries_url: "Ссылка" -admin_entries_view: "Посмотреть" -admin_entries_visible: "Видимый" -admin_fieldset: "Поля" -admin_fieldsets: "Наборы полей" -admin_flextype_version: "Версия Flextype" -admin_information_heading: "Информация" -admin_installed: "установлен" -admin_keywords: "Ключевые слова" -admin_login: "Логин" -admin_menu: "Меню" -admin_menu_content_entries: "Записи" -admin_menu_content_menus: "Меню" -admin_menu_entries: "Записи" -admin_menu_extends: "Расширения" -admin_menu_extends_fieldsets: "Наборы полей" -admin_menu_extends_plugins: "Плагины" -admin_menu_extends_snippets: "Сниппеты" -admin_menu_extends_templates: "Шаблоны" -admin_menu_extends_themes: "Темы" -admin_menu_help: "Помощь" -admin_menu_help_documentation: "Документация" -admin_menu_item_delete: "Удалить" -admin_menu_item_edit: "Редактировать" -admin_menu_logout: "Выйти из системы" -admin_menu_profile: "Профиль пользователя" -admin_menu_system: "Система" -admin_menu_system_information: "Информация" -admin_menu_system_settings: "Настройки" -admin_menu_view_site: "Просмотр сайта" -admin_menus: "Меню" -admin_menus_create_new_category: "Создать новую категорию" -admin_menus_create_new_item: "Создать новый элемент в меню" -admin_menus_delete_category: "Удалить категорию" -admin_menus_edit_category: "Редактировать категорию" -admin_menus_heading: "Список меню" -admin_menus_name: "Название" -admin_menus_order: "Порядок" -admin_menus_url: "Url" -admin_message_cache_files_deleted: "Файлы кеша удалены" -admin_message_entry_changes_saved: "Успешно - Сохранены изменения" -admin_message_entry_cloned: "Копия этой страницы" -admin_message_entry_created: "Успешно - Создана новая страница" -admin_message_entry_deleted: "Удалена страница из списка" -admin_message_entry_file_deleted: "Файл удален из списка" -admin_message_entry_file_uploaded: "Успешно - загружен новый файл" -admin_message_entry_file_not_uploaded: "Файл не был загружен" -admin_message_entry_duplicated: "Успешно - Создан дубликат записи" -admin_message_entry_moved: "Запись перемещена" -admin_message_entry_renamed: "Запись переименована" -admin_message_fieldset_created: "Создать новое поле" -admin_message_fieldset_deleted: "Удалено поле из списка" -admin_message_fieldset_duplicated: "Успешно - Создан дубликат поля" -admin_message_fieldset_renamed: "Успешно - Переименовано поле" -admin_message_fieldset_saved: "Успешно - Сохранён набор полей" -admin_message_menu_created: "Успешно - Добавлено новое меню" -admin_message_menu_deleted: "Удалено меню из списка" -admin_message_menu_duplicated: "Успешно - Создан дубликат меню" -admin_message_menu_renamed: "Успешно - Переименовано меню" -admin_message_menu_saved: "Успешно - Сохранено меню" -admin_message_settings_saved: "Успешно - Сохранены настройки" -admin_message_snippet_created: "Успешно - создан новый сниппет" -admin_message_snippet_deleted: "Удален сниппет из списка" -admin_message_snippet_duplicated: "Успешно - Создан дубликат сниппета" -admin_message_snippet_renamed: "Успешно - Переименован сниппет" -admin_message_snippet_saved: "Успешно - Сохранён сниппет" -admin_message_template_created: "Успешно - Создан новый шаблон" -admin_message_template_deleted: "Удалён шаблон из списка" -admin_message_template_duplicated: "Успешно - Создан дубликат шаблона" -admin_message_template_renamed: "Переименовать шаблон" -admin_message_template_saved: "Сохранить шаблон" -admin_message_wrong_username_password: "Неверное имя пользователя или пароль" -admin_move: "Перенести" -admin_name: "Название" -admin_not_installed: "не установлен" -admin_off: "Отключен" -admin_on: "Включён" -admin_partial: "Частичное" -admin_password: "Пароль" -admin_php_built_on: "PHP встроенный" -admin_php_version: "PHP версия" -admin_plugins_author_email: "Емейл автора" -admin_plugins_author_name: "Имя автора" -admin_plugins_author_url: "URL автора" -admin_plugins_bugs: "Ошибки" -admin_plugins_description: "Описание" -admin_plugins_get_more_plugins: "Добавить новый плагин" -admin_plugins_heading: "Список плагинов" -admin_plugins_homepage: "Домашняя страница" -admin_plugins_info: "Информация о плагине" -admin_plugins_license: "Лицензия" -admin_plugins_name: "Название" -admin_plugins_status: "Статус" -admin_plugins_status_disabled: "выключен" -admin_plugins_status_enabled: "включен" -admin_plugins_version: "Версия плагина" -admin_preview: "Просмотр" -admin_rename: "Переименовать" -admin_role: "Роль пользователя" -admin_save: "Сохранить" -admin_security_check_results: "Результаты проверки безопасности" -admin_security_check_results_debug: "Система работает в режиме ОТЛАДКИ Мы рекомендуем вам УБРАТЬ режим ОТЛАДКИ на живом сайте." -admin_security_check_results_htaccess: "Главный .htaccess доступен для записи. Мы рекомендуем вам удалить права записи на главный .htaccess файл.
Вы можете сделать это на UNIX системах так: chmod -R a-w :path" -admin_security_check_results_index: "Главный index.php файл доступен для записи. Мы рекомендуем вам удалить права записи на главный index.php файл.
Вы можете сделать это на UNIX системах так: chmod -R a-w :path" -admin_server: "Сервер" -admin_settings: "Настройки" -admin_site: "Сайт" -admin_snippet: "Сниппет" -admin_snippets: "Список сниппетов" -admin_summary: "Краткое изложение" -admin_system: "Система" -admin_system_clear_cache: "Очистить кеш" -admin_system_settings_heading: "Настройки" -admin_system_settings_site: "Сайт" -admin_system_settings_general: "Основные" -admin_system_settings_error_404_page: "Страница ошибки 404" -admin_system_settings_debuggig: "Дебаггинг" -admin_system_settings_cache: "Кеш" -admin_system_settings_site_author_email: "Емейл автора" -admin_system_settings_site_author_name: "Имя автора" -admin_system_settings_site_description: "Краткое описание сайта" -admin_system_settings_site_keywords: "Ключевые слова используемые на сайте" -admin_system_settings_site_robots: "Информация для индексации поисковыми роботами" -admin_system_settings_site_title: "Заголовок сайта" -admin_system_settings_system: "Система" -admin_system_settings_system_cache_driver: "Драйвер кеша" -admin_system_settings_system_cache_enabled: "Сохранение кеша" -admin_system_settings_system_cache_lifetime: "Время хранения кеша (в секундах)" -admin_system_settings_system_cache_prefix: "Префикс кеша" -admin_system_settings_system_charset: "Кодировка системы" -admin_system_settings_system_date_format: "Формат отображения даты" -admin_system_settings_system_entries_error404_content: "Контент страницы Error 404" -admin_system_settings_system_entries_error404_description: "Описание страницы Error 404" -admin_system_settings_system_entries_error404_template: "Шаблон страницы Error 404" -admin_system_settings_system_entries_error404_title: "Заголовок страницы Error 404" -admin_system_settings_system_entries_main: "Главная страница сайта" -admin_system_settings_system_errors_display: "Отображение ошибок" -admin_system_settings_system_locale: "Язык" -admin_system_settings_system_theme: "Тема" -admin_system_settings_system_timezone: "Временная зона" -admin_template: "Шаблон" -admin_template_create_new: "Добавить новый шаблон" -admin_templates: "Список шаблонов" -admin_title: "Заголовок" -admin_type: "Тип" -admin_username: "Имя пользователя" -admin_users_create: "Создать пользователя" -admin_users_create_new: "Создать нового пользователя" -admin_view_site: "Сайт" -admin_visibility: "Видимость на сайте" -admin_web_server: "Веб сервер" -admin_web_server_php_interface: "Вебсервер PHP Интерефейс" -admin_menus_error_name_empty_input: "Название должно быть буквенно-цифровым значением (от 1-го символа)" -admin_menus_error_title_empty_input: "Заголовок должно быть буквенно-цифровым значением (от 1-го символа)" -admin_fieldsets_error_name_empty_input: "Название должно быть буквенно-цифровым значением (от 1-го символа)" -admin_fieldsets_error_title_empty_input: "Заголовок должно быть буквенно-цифровым значением (от 1-го символа)" -admin_templates_error_name_empty_input: "Название должно быть буквенно-цифровым значением (от 1-го символа)" -admin_snippets_error_name_empty_input: "Название должно быть буквенно-цифровым значением (от 1-го символа)" -admin_system_settings_system_cache_enabled_false: "Выключен" -admin_system_settings_system_cache_enabled_true: "Включен" -admin_system_settings_system_errors_enabled_false: "Выключено" -admin_system_settings_system_errors_enabled_true: "Включено" -admin_system_settings_media: "Медиа" -admin_system_settings_system_upload_images_quality: "Качество (0 - 100)" -admin_system_settings_system_upload_images_width: "Ширина" -admin_system_settings_system_upload_images_height: "Высота" -admin_system_settings_system_upload_accept_file_types: "Допустимые типы файлов для загрузки" -admin_embeded_code: "Код для вставки" -admin_shortcode: "Шорткод" -admin_php_code: "PHP код" -admin_entries_choose_files_to_upload: "Выбрать файл" -admin_entries_browse_files: "Выбрать файл" -admin_copy: "Копировать" -admin_system_settings_admin_panel: "Панель администратора" -admin_system_settings_admin_panel_theme: "Тема" -admin_system_settings_admin_panel_theme_light: "Светлая" -admin_system_settings_admin_panel_theme_dark: "Темная" -admin_menu_name: "Название" -admin_system_settings_cache_memcache_server: "Memcache Cервер" -admin_system_settings_cache_memcache_port: "Memcache Порт" -admin_system_settings_cache_memcached_server: "Memcached Cервер" -admin_system_settings_cache_memcached_port: "Memcached Порт" -admin_system_settings_cache_redis_socket: "Redis Сокет" -admin_system_settings_cache_redis_password: "Redis Пароль" -admin_system_settings_cache_redis_server: "Redis Cервер" -admin_system_settings_cache_redis_port: "Redis Порт" -admin_system_settings_cache_sqlite3_database: "SQLite3 База" -admin_system_settings_cache_sqlite3_table: "SQLite3 Таблица" diff --git a/site/plugins/admin/languages/uk.yaml b/site/plugins/admin/languages/uk.yaml deleted file mode 100644 index c0c1ec0d..00000000 --- a/site/plugins/admin/languages/uk.yaml +++ /dev/null @@ -1,143 +0,0 @@ -admin: "Адмін" -admin_cache: "Кеш" -admin_cancel: "Скасувати" -admin_create: "Створити" -admin_debugging: "Отладка" -admin_description: "Опис" -admin_email: "Емейл" -admin_flextype_admin_version: "Flextype версія плагіна Адмін" -admin_flextype_core_version: "Flextype версія ядра" -admin_information_heading: "Информація" -admin_installed: "встановлений" -admin_keywords: "Ключові слова" -admin_login: "Логін" -admin_menu_content: "Контент" -admin_menu_content_entries: "Сторінки" -admin_menu_extends: "Розширення" -admin_menu_extends_plugins: "Плагіни" -admin_menu_extends_themes: "Теми" -admin_menu_help: "Допомога" -admin_menu_help_documentation: "Документація" -admin_menu_logout: "Вийти" -admin_menu_entries: "Сторінки" -admin_menu_profile: "Профіль" -admin_menu_system: "Система" -admin_menu_system_information: "Информація" -admin_menu_system_settings: "Налаштування системи" -admin_menu_view_site: "Сайт" -admin_message_cache_files_deleted: "Файли кеша видалені" -admin_message_entry_changes_saved: "Зміни успішно збережені" -admin_message_entry_cloned: "Копія цієї сторінки" -admin_message_entry_created: "Сторінка успішно створена" -admin_message_entry_deleted: "Сторінка видалена" -admin_message_entry_file_deleted: "Файл успішно видалений" -admin_message_entry_file_uploaded: "Файл успішно завантажений" -admin_message_entry_moved: "Сторінка переміщена" -admin_message_entry_renamed: "Сторінка перейменована" -admin_message_settings_saved: "Налаштування збережені" -admin_message_wrong_username_password: "Неправильне ім'я користувача або пароль" -admin_not_installed: "не встановлений" -admin_off: "вимкнути" -admin_on: "увімкнути" -admin_add: "Додати" -admin_entries_attributes: "Атрибути сторінки" -admin_entries_fieldset_for_template: "Схема шаблону" -admin_clone: "Клонировать" -admin_entries_content: "Контент" -admin_entries_create_new: "Створити нову сторінку" -admin_entries_date: "Дата" -admin_entries_delete: "Вилучити" -admin_entries_description: "Опис" -admin_entries_draft: "Чернетка" -admin_entries_edit: "Редагувати" -admin_entries_edit_blocks: "Блоки" -admin_entries_edit_media: "Медіа" -admin_entries_edit_entry: "Редагувати сторінку" -admin_entries_edit_settings: "Налаштування" -admin_entries_edit_template: "Шаблон" -admin_entries_edit_templates: "Шаблони" -admin_entries_editor: "Контент" -admin_entries_editor_fieldset: "Схема" -admin_entries_editor_source: "Код" -admin_entries_editor_template: "Шаблон" -admin_entries_error_name_empty_input: "Ім'я повинно бути буквено-цифровим значенням (від 3 до 12 символів)" -admin_entries_error_title_empty_input: "Назва повинна бути буквено-цифровим значенням (від 3 до 12 символів)" -admin_entries_files: "Файли" -admin_entries_files_delete: "Вилучити" -admin_entries_files_upload: "Завантажити" -admin_entries_heading: "Сторінки" -admin_entries_hidden: "Прихований" -admin_entries_image_preview: "Перегляд зображення" -admin_entries_move: "Перейти" -admin_entries_name: "Назва" -admin_entries_entry: "Сторінка" -admin_entries_parent_entry: "Батьківська сторінка" -admin_entries_preview: "Переглянути" -admin_entries_publish: "Опублікувати" -admin_entries_rename: "Перейменувати" -admin_entries_rename_entry: "Перейменувати" -admin_entries_save_entry: "Зберегти" -admin_entries_settings: "Налаштування" -admin_entries_switch_back_to_editor_mode: "Режим редактора" -admin_entries_switch_to_expert_mode: "Експертний режим" -admin_entries_template: "Шаблон" -admin_entries_title: "Заголовок" -admin_entries_url: "Посилання" -admin_entries_view: "Подивитися" -admin_entries_visibility: "Подивитися" -admin_entries_visible: "Відображаємий" -admin_password: "Пароль" -admin_php_built_on: "PHP вбудована" -admin_php_version: "PHP версія" -admin_plugins_author_email: "Емейл автора" -admin_plugins_author_name: "Ім'я автора" -admin_plugins_author_url: "URL автора" -admin_plugins_bugs: "Помилки" -admin_plugins_description: "Опис" -admin_plugins_get_more_plugins: "Завантажити плагіни" -admin_plugins_heading: "Плагіни" -admin_plugins_homeentry: "Домашня сторінка" -admin_plugins_info: "Інформація" -admin_plugins_license: "Ліцензія" -admin_plugins_name: "Назва" -admin_plugins_status: "Статус" -admin_plugins_status_disabled: "вимкнений" -admin_plugins_status_enabled: "включений" -admin_plugins_version: "Версія плагіна" -admin_role: "Роль" -admin_save: "Зберегти" -admin_security_check_results: "Результати перевірки безпеки" -admin_security_check_results_debug: "Система працює в режимі налагодження Ми рекомендуємо вам прибрати режим налагодження на живому сайті." -admin_security_check_results_htaccess: "Головний .htaccess доступний для запису. Ми рекомендуємо вам видалити права записи на головний .htaccess файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path" -admin_security_check_results_index: "Головний index.php файл доступний для запису. Ми рекомендуємо вам видалити права записи на головний index.php файл.
Ви можете зробити це на UNIX системах так: chmod -R a-w :path" -admin_server: "Сервер" -admin_settings: "Налаштування" -admin_site: "Сайт" -admin_system: "Система" -admin_system_clear_cache: "Очистити кеш" -admin_system_settings_heading: "Налаштування" -admin_system_settings_site: "Сайт" -admin_system_settings_site_author_email: "Емейл автора" -admin_system_settings_site_author_name: "Ім'я автора" -admin_system_settings_site_description: "Опис сайту" -admin_system_settings_site_keywords: "Ключові слова сайту" -admin_system_settings_site_robots: "Роботи" -admin_system_settings_site_title: "Заголовок сайту" -admin_system_settings_system: "Система" -admin_system_settings_system_cache_driver: "Драйвер кешу" -admin_system_settings_system_cache_enabled: "Кеш включений" -admin_system_settings_system_cache_lifetime: "Час зберігання кешу" -admin_system_settings_system_cache_prefix: "Префікс кешу" -admin_system_settings_system_charset: "Кодування сторінки" -admin_system_settings_system_date_format: "Формат відображення дати" -admin_system_settings_system_errors_display: "Відображати помилки" -admin_system_settings_system_locale: "Мова" -admin_system_settings_system_entries_main: "Головна сторінка" -admin_system_settings_system_theme: "Тема" -admin_system_settings_system_timezone: "Часовий пояс" -admin_username: "Ім'я користувача" -admin_users_create: "Створити користувача" -admin_users_create_new: "Створити нового користувача" -admin_view_site: "Сайт" -admin_web_server: "Веб сервер" -admin_web_server_php_interface: "Веб Сервер PHP Інтерфейс" diff --git a/site/plugins/admin/package.json b/site/plugins/admin/package.json index 502024ec..edc1b559 100755 --- a/site/plugins/admin/package.json +++ b/site/plugins/admin/package.json @@ -2,9 +2,9 @@ "name": "admin", "version": "0.0.0", "devDependencies": { - "animate.css": "^3.7.0", - "bootstrap": "^4.2.1", - "codemirror": "5.42.0", + "animate.css": "^3.7.1", + "bootstrap": "^4.3.1", + "codemirror": "^5.47.0", "del": "^3.0.0", "es6-promise": "^4.2.5", "gulp": "^3.9.1", @@ -17,7 +17,7 @@ "messenger-hubspot": "1.5.0-b2", "popper.js": "^1.14.6", "run-sequence": "^2.2.1", - "trumbowyg": "^2.13.0", + "trumbowyg": "^2.14.0", "clipboard": "^2.0.4", "bs-custom-file-input": "^1.3.1" } diff --git a/site/plugins/admin/plugin.json b/site/plugins/admin/plugin.json new file mode 100755 index 00000000..465806a5 --- /dev/null +++ b/site/plugins/admin/plugin.json @@ -0,0 +1,13 @@ +{ + "name": "Admin", + "version": "0.0.0", + "description": "Admin plugin for Flextype", + "author": { + "name": "Sergey Romanenko", + "email": "hello@romanenko.digital", + "url": "http://flextype.org" + }, + "homepage": "https://github.com/flextype-plugins/admin", + "bugs": "https://github.com/flextype-plugins/admin/issues", + "license": "MIT" +} diff --git a/site/plugins/admin/preview.png b/site/plugins/admin/preview.png index 0b777c24..6a5dcbe7 100644 Binary files a/site/plugins/admin/preview.png and b/site/plugins/admin/preview.png differ diff --git a/site/plugins/admin/routes/web.php b/site/plugins/admin/routes/web.php new file mode 100644 index 00000000..2d0277c3 --- /dev/null +++ b/site/plugins/admin/routes/web.php @@ -0,0 +1,84 @@ +group('/' . $admin_route, function () use ($flextype, $app) { + $app->get('/registration', 'UsersController:registration')->setName('admin.users.registration'); + $app->post('/registration', 'UsersController:registrationProcess')->setName('admin.users.registrationProcess'); + $app->get('/login', 'UsersController:login')->setName('admin.users.login'); + $app->post('/login', 'UsersController:loginProcess')->setName('admin.users.loginProcess'); +}); + +$app->group('/' . $admin_route, function () use ($flextype, $app) { + + // Dashboard + $app->get('', 'DashboardController:index')->setName('admin.dashboard.index'); + + // UsersController + $app->get('/profile', 'UsersController:profile')->setName('admin.users.profile'); + $app->post('/logout', 'UsersController:logoutProcess')->setName('admin.users.logoutProcess'); + + // EntriesController + $app->get('/entries', 'EntriesController:index')->setName('admin.entries.index'); + $app->get('/entries/edit', 'EntriesController:edit')->setName('admin.entries.edit'); + $app->post('/entries/edit', 'EntriesController:editProcess')->setName('admin.entries.editProcess'); + $app->get('/entries/add', 'EntriesController:add')->setName('admin.entries.add'); + $app->post('/entries/add', 'EntriesController:addProcess')->setName('admin.entries.addProcess'); + $app->get('/entries/move', 'EntriesController:move')->setName('admin.entries.move'); + $app->post('/entries/move', 'EntriesController:moveProcess')->setName('admin.entries.moveProcess'); + $app->get('/entries/rename', 'EntriesController:rename')->setName('admin.entries.rename'); + $app->post('/entries/rename', 'EntriesController:renameProcess')->setName('admin.entries.renameProcess'); + $app->get('/entries/type', 'EntriesController:type')->setName('admin.entries.type'); + $app->post('/entries/type', 'EntriesController:typeProcess')->setName('admin.entries.typeProcess'); + $app->post('/entries/duplicate', 'EntriesController:duplicateProcess')->setName('admin.entries.duplicateProcess'); + $app->post('/entries/delete', 'EntriesController:deleteProcess')->setName('admin.entries.deleteProcess'); + $app->post('/entries/delete-media-file', 'EntriesController:deleteMediaFileProcess')->setName('admin.entries.deleteMediaFileProcess'); + $app->post('/entries/upload-media-file', 'EntriesController:uploadMediaFileProcess')->setName('admin.entries.uploadMediaFileProcess'); + + // Information Controller + $app->get('/information', 'InformationController:index')->setName('admin.information.index'); + + // Settings Controller + $app->get('/settings', 'SettingsController:index')->setName('admin.settings.index'); + $app->post('/settings', 'SettingsController:updateSettingsProcess')->setName('admin.settings.update'); + $app->post('/settings/clear-cache', 'SettingsController:clearCacheProcess')->setName('admin.settings.clear-cache'); + + // Plugins Controller + $app->get('/plugins', 'PluginsController:index')->setName('admin.plugins.index'); + $app->post('/plugins/update-status', 'PluginsController:pluginStatusProcess')->setName('admin.plugins.update-status'); + + // FieldsetsController + $app->get('/fieldsets', 'FieldsetsController:index')->setName('admin.fieldsets.index'); + $app->get('/fieldsets/add', 'FieldsetsController:add')->setName('admin.fieldsets.add'); + $app->post('/fieldsets/add', 'FieldsetsController:addProcess')->setName('admin.fieldsets.addProcess'); + $app->get('/fieldsets/edit', 'FieldsetsController:edit')->setName('admin.fieldsets.edit'); + $app->post('/fieldsets/edit', 'FieldsetsController:editProcess')->setName('admin.fieldsets.editProcess'); + $app->get('/fieldsets/rename', 'FieldsetsController:rename')->setName('admin.fieldsets.rename'); + $app->post('/fieldsets/rename', 'FieldsetsController:renameProcess')->setName('admin.fieldsets.renameProcess'); + $app->post('/fieldsets/duplicate', 'FieldsetsController:duplicateProcess')->setName('admin.fieldsets.duplicateProcess'); + $app->post('/fieldsets/delete', 'FieldsetsController:deleteProcess')->setName('admin.fieldsets.deleteProcess'); + + // TemplatesController + $app->get('/templates', 'TemplatesController:index')->setName('admin.templates.index'); + $app->get('/templates/add', 'TemplatesController:add')->setName('admin.templates.add'); + $app->post('/templates/add', 'TemplatesController:addProcess')->setName('admin.templates.addProcess'); + $app->get('/templates/edit', 'TemplatesController:edit')->setName('admin.templates.edit'); + $app->post('/templates/edit', 'TemplatesController:editProcess')->setName('admin.templates.addProcess'); + $app->get('/templates/rename', 'TemplatesController:rename')->setName('admin.templates.rename'); + $app->post('/templates/rename', 'TemplatesController:renameProcess')->setName('admin.templates.renameProcess'); + $app->post('/templates/duplicate', 'TemplatesController:duplicateProcess')->setName('admin.templates.duplicateProcess'); + $app->post('/templates/delete', 'TemplatesController:deleteProcess')->setName('admin.templates.deleteProcess'); + + // SnippetsController + $app->get('/snippets', 'SnippetsController:index')->setName('admin.snippets.index'); + $app->get('/snippets/add', 'SnippetsController:add')->setName('admin.snippets.add'); + $app->post('/snippets/add', 'SnippetsController:addProcess')->setName('admin.snippets.addProcess'); + $app->get('/snippets/edit', 'SnippetsController:edit')->setName('admin.snippets.edit'); + $app->post('/snippets/edit', 'SnippetsController:editProcess')->setName('admin.snippets.addProcess'); + $app->get('/snippets/rename', 'SnippetsController:rename')->setName('admin.snippets.rename'); + $app->post('/snippets/rename', 'SnippetsController:renameProcess')->setName('admin.snippets.renameProcess'); + $app->post('/snippets/duplicate', 'SnippetsController:duplicateProcess')->setName('admin.snippets.duplicateProcess'); + $app->post('/snippets/delete', 'SnippetsController:deleteProcess')->setName('admin.snippets.deleteProcess'); + +})->add(new AuthMiddleware($flextype)); diff --git a/site/plugins/admin/settings.json b/site/plugins/admin/settings.json new file mode 100644 index 00000000..60e7e096 --- /dev/null +++ b/site/plugins/admin/settings.json @@ -0,0 +1,3 @@ +{ + "enabled": true +} diff --git a/site/plugins/admin/settings.yaml b/site/plugins/admin/settings.yaml deleted file mode 100644 index d4ca9418..00000000 --- a/site/plugins/admin/settings.yaml +++ /dev/null @@ -1 +0,0 @@ -enabled: true diff --git a/site/plugins/admin/twig/GlobalVarsAdminTwigExtension.php b/site/plugins/admin/twig/GlobalVarsAdminTwigExtension.php new file mode 100644 index 00000000..1b84ff73 --- /dev/null +++ b/site/plugins/admin/twig/GlobalVarsAdminTwigExtension.php @@ -0,0 +1,40 @@ + + * @link http://romanenko.digital + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flextype; + +use Flextype\Component\Session\Session; + +class GlobalVarsAdminTwigExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface +{ + /** + * Flextype Dependency Container + */ + private $flextype; + + /** + * Constructor + */ + public function __construct($flextype) + { + $this->flextype = $flextype; + } + + public function getGlobals() + { + return [ + 'is_logged' => ((Session::exists('role') && Session::get('role') == 'admin') ? true : false), + 'username' => Session::exists('username') ? Session::get('username') : '', + 'rolename' => Session::exists('role') ? Session::get('role') : '' + ]; + } +} diff --git a/site/plugins/admin/views/partials/base.html b/site/plugins/admin/views/partials/base.html new file mode 100644 index 00000000..122311c8 --- /dev/null +++ b/site/plugins/admin/views/partials/base.html @@ -0,0 +1,403 @@ + + + + {% block head %} + + + + + + {{ emmiter_emmit('onAdminThemeMeta') }} + + FLEXTYPE + + + + + {% set admin_build = base_url() ~ '/site/plugins/admin/assets/dist/css/admin-build.min.css' %} + {% set admin_elegant = base_url() ~ '/site/plugins/admin/assets/dist/css/elegant.css' %} + {% set admin_light = base_url() ~ '/site/plugins/admin/assets/dist/css/admin-light.min.css' %} + {% set admin_monokai = base_url() ~ '/site/plugins/admin/assets/dist/css/monokai.css' %} + + {% do assets_add('css', admin_build, 'admin', 1) %} + + {% if registry.settings.admin_panel.theme == 'light' %} + {% do assets_add('css', admin_elegant, 'admin', 2) %} + {% do assets_add('css', admin_light, 'admin', 3) %} + {% else %} + {% do assets_add('css', admin_monokai, 'admin', 4) %} + {% endif %} + + {% for assets_admin in assets_get('css', 'admin') %} + {% for assets_by_priorities in assets_admin %} + + {% endfor %} + {% endfor %} + + + + {{ emmiter_emmit('onAdminThemeHeader') }} + {% endblock %} + + +
+ + {% if is_logged %} + + + {% endif %} + +
+ + {% if links or buttons %} + + {% endif %} + + {% if is_current_path('admin.entries.index') or + is_current_path('admin.entries.edit') or + is_current_path('admin.entries.add') or + is_current_path('admin.entries.move') or + is_current_path('admin.entries.rename') or + is_current_path('admin.entries.type') %} +
+ {% for part in parts %} + {% set i = i - 1 %} + {% if (part != last) %} + / {{ part }} + {% else %} + / {{ part }} + {% endif %} + {% endfor %} +
+ {% endif %} + + {% if is_current_path('admin.templates.index') or + is_current_path('admin.templates.edit') or + is_current_path('admin.templates.rename') or + is_current_path('admin.templates.add') or + is_current_path('admin.fieldsets.index') or + is_current_path('admin.fieldsets.edit') or + is_current_path('admin.fieldsets.rename') or + is_current_path('admin.fieldsets.add') or + is_current_path('admin.snippets.index') or + is_current_path('admin.snippets.edit') or + is_current_path('admin.snippets.rename') or + is_current_path('admin.snippets.add') %} +
+ / {{ id }} +
+ {% endif %} + +
+
+
+
+ {% block content %}{% endblock %} +
+
+
+
+ +
+ + {% if registry.settings.locale == 'en_US' %} + {% set locale = 'en' %} + {% else %} + {% set locale = registry.settings.locale %} + {% endif %} + + {% if registry.settings.locale != 'en_US' %} + {% set admin_trumbowyg_build = base_url() ~ '/site/plugins/admin/assets/dist/langs/trumbowyg/langs/' ~ registry.settings.locale|lower|slice(0,2) ~ '.min.js' %} + {% do assets_add('js', admin_trumbowyg_build, 'admin', 10) %} + {% endif %} + + {% set admin_build = base_url() ~ '/site/plugins/admin/assets/dist/js/admin-build.min.js' %} + + {% do assets_add('js', admin_build, 'admin', 1) %} + + {% for assets_admin in assets_get('js', 'admin') %} + {% for assets_by_priorities in assets_admin %} + + {% endfor %} + {% endfor %} + + + + + + + diff --git a/site/plugins/admin/views/partials/content-end.php b/site/plugins/admin/views/partials/content-end.php deleted file mode 100644 index b4a2865a..00000000 --- a/site/plugins/admin/views/partials/content-end.php +++ /dev/null @@ -1,4 +0,0 @@ -
- - - diff --git a/site/plugins/admin/views/partials/content-start.php b/site/plugins/admin/views/partials/content-start.php deleted file mode 100644 index 4796e943..00000000 --- a/site/plugins/admin/views/partials/content-start.php +++ /dev/null @@ -1,10 +0,0 @@ - -
-
-
-
diff --git a/site/plugins/admin/views/partials/footer.php b/site/plugins/admin/views/partials/footer.php deleted file mode 100755 index da9bf92b..00000000 --- a/site/plugins/admin/views/partials/footer.php +++ /dev/null @@ -1,8 +0,0 @@ - - -
-
- -display() ?> - - diff --git a/site/plugins/admin/views/partials/head.php b/site/plugins/admin/views/partials/head.php deleted file mode 100755 index c4d638df..00000000 --- a/site/plugins/admin/views/partials/head.php +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - FLEXTYPE - - - - - - - - - - - - - - - - - - - - - class="content-full-size" > -
- display(); ?> -
diff --git a/site/plugins/admin/views/partials/navbar.php b/site/plugins/admin/views/partials/navbar.php deleted file mode 100644 index dc77735a..00000000 --- a/site/plugins/admin/views/partials/navbar.php +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - -
- - - - - - / - - / - - -
- - - -
- / - - - - -
- diff --git a/site/plugins/admin/views/partials/sidebar.php b/site/plugins/admin/views/partials/sidebar.php deleted file mode 100755 index 42fa0f40..00000000 --- a/site/plugins/admin/views/partials/sidebar.php +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/site/plugins/admin/views/partials/tail.php b/site/plugins/admin/views/partials/tail.php deleted file mode 100755 index 8d80681a..00000000 --- a/site/plugins/admin/views/partials/tail.php +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - diff --git a/site/plugins/admin/views/templates/auth/login.php b/site/plugins/admin/views/templates/auth/login.php deleted file mode 100644 index 9214dd09..00000000 --- a/site/plugins/admin/views/templates/auth/login.php +++ /dev/null @@ -1,39 +0,0 @@ -assign('main_panel_class', 'width-full') - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
- -
-
-

-
- - -
-
- - -
-
- -
-
-
-
- -display(); -Themes::view('admin/views/partials/footer')->display(); -?> diff --git a/site/plugins/admin/views/templates/auth/registration.php b/site/plugins/admin/views/templates/auth/registration.php deleted file mode 100644 index 1211eb8d..00000000 --- a/site/plugins/admin/views/templates/auth/registration.php +++ /dev/null @@ -1,43 +0,0 @@ -assign('main_panel_class', 'width-full') - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
- -
-
-

-
- - -
-
- - -
-
- - -
-
- -
-
-
-
- -display(); -Themes::view('admin/views/partials/footer')->display(); -?> diff --git a/site/plugins/admin/views/templates/content/entries/add.html b/site/plugins/admin/views/templates/content/entries/add.html new file mode 100644 index 00000000..bff84eb6 --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/add.html @@ -0,0 +1,31 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/add.php b/site/plugins/admin/views/templates/content/entries/add.php deleted file mode 100644 index 94906a88..00000000 --- a/site/plugins/admin/views/templates/content/entries/add.php +++ /dev/null @@ -1,57 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries', - 'title' => __('admin_entries_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'entries_add' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/add?entry='.Http::get('entry'), - 'title' => __('admin_entries_create_new'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - -
- 'entryTitle']) ?> - 'form-control', 'id' => 'entryTitle', 'required', 'data-validation' => 'length required', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_entries_error_title_empty_input')]) ?> -
-
- 'entrySlug']) ?> - 'form-control', 'id' => 'entrySlug', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_entries_error_name_empty_input')]) ?> -
-
- - -
-
-
- - 'btn btn-black']) ?> - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/content.php b/site/plugins/admin/views/templates/content/entries/content.php deleted file mode 100644 index 778bee02..00000000 --- a/site/plugins/admin/views/templates/content/entries/content.php +++ /dev/null @@ -1,50 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'edit_entry' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name, - 'title' => __('admin_entries_editor'), - 'attributes' => ['class' => 'navbar-item active'] - ], - 'edit_entry_media' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&media=true', - 'title' => __('admin_entries_edit_media'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'edit_entry_source' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&source=true', - 'title' => __('admin_entries_editor_source'), - 'attributes' => ['class' => 'navbar-item'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ], - 'view_entry' => [ - 'link' => Http::getBaseUrl() . '/' . $entry_name, - 'title' => __('admin_preview'), - 'attributes' => ['class' => 'float-right btn', 'target' => '_blank'] - ] - ]) - ->assign('entry', $entry) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); - -EntriesManager::displayEntryForm($fieldset['fields'], $entry, $entry['content']); - -Themes::view('admin/views/partials/content-end')->display(); -Themes::view('admin/views/partials/footer')->display(); -?> diff --git a/site/plugins/admin/views/templates/content/entries/edit.html b/site/plugins/admin/views/templates/content/entries/edit.html new file mode 100644 index 00000000..787d967a --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/edit.html @@ -0,0 +1,5 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +{{ form|raw }} +{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/index.html b/site/plugins/admin/views/templates/content/entries/index.html new file mode 100644 index 00000000..beb023fa --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/index.html @@ -0,0 +1,73 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +{% if entries_list|length > 0 %} + + + + + + + + + {% for entry in entries_list %} + + + + + {% endfor %} + +
{{ tr('admin_entry') }}
+ {% set entries = entries_fetch_all(entry.slug, 'slug', 'ASC') %} + + {% if entry.fieldset %} + {% set fieldset_path = PATH_SITE ~ '/fieldsets/' ~ entry.fieldset ~ '.json' %} + {% if filesystem_has(fieldset_path) %} + {% set fieldset = json_parser_decode(filesystem_read(fieldset_path)) %} + {% if fieldset.default_field %} + {{ entry[fieldset.default_field] }} + {% else %} + {{ entry.slug }} + {% endif %} + {% else %} + {{ entry.slug }} + {% endif %} + {% else %} + {{ entry.slug }} + {% endif %} + {% if entries|length > 0 %} + ({{ entries|length }}) + {% endif %} + + + + + + {{ tr('admin_delete') }} +
+{% endif %} +{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/list.php b/site/plugins/admin/views/templates/content/entries/list.php deleted file mode 100644 index 79fa7a97..00000000 --- a/site/plugins/admin/views/templates/content/entries/list.php +++ /dev/null @@ -1,68 +0,0 @@ - - - -display() ?> -assign('links', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries', - 'title' => __('admin_entries_heading'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/add?entry='.Http::get('entry') , - 'title' => __('admin_entries_create_new'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display() -?> -display() ?> - - 0): ?> - - - - - - - - - - - - - - - -
- - - 0): ?> - () - - -
- - - -
- -
- - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/media.html b/site/plugins/admin/views/templates/content/entries/media.html new file mode 100644 index 00000000..b1acd89b --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/media.html @@ -0,0 +1,74 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} + +
+ {{ csrf() }} + +
+
+ + +
+
+ +
+
+
+ +
+ + + + +{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/media.php b/site/plugins/admin/views/templates/content/entries/media.php deleted file mode 100644 index 593bc931..00000000 --- a/site/plugins/admin/views/templates/content/entries/media.php +++ /dev/null @@ -1,94 +0,0 @@ - - -display(); - Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'edit_entry' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name, - 'title' => __('admin_entries_editor'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'edit_entry_media' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&media=true', - 'title' => __('admin_entries_edit_media'), - 'attributes' => ['class' => 'navbar-item active'] - ], - 'edit_entry_source' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&source=true', - 'title' => __('admin_entries_editor_source'), - 'attributes' => ['class' => 'navbar-item'] - ] - ]) - ->assign('entry', $entry) - ->display(); - Themes::view('admin/views/partials/content-start')->display(); -?> - - - 'multipart/form-data', 'class' => 'form-inline form-upload']) ?> - -
-
- - -
-
- 'btn btn-outline-secondary']) ?> -
-
- - -
- - - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/move.html b/site/plugins/admin/views/templates/content/entries/move.html new file mode 100644 index 00000000..1780b9d9 --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/move.html @@ -0,0 +1,25 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+
+
+ {{ csrf() }} + + + +
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/move.php b/site/plugins/admin/views/templates/content/entries/move.php deleted file mode 100644 index d20400b6..00000000 --- a/site/plugins/admin/views/templates/content/entries/move.php +++ /dev/null @@ -1,44 +0,0 @@ - - -display(); - Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries', - 'title' => __('admin_entries_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'entries_move' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/move', - 'title' => __('admin_entries_move'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('entry', $entry) - ->display(); - Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - - - -
- - 'form-control')) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/rename.html b/site/plugins/admin/views/templates/content/entries/rename.html new file mode 100644 index 00000000..4076d898 --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/rename.html @@ -0,0 +1,24 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+
+
+ {{ csrf() }} + + + + + +
+ + +
+ +
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/rename.php b/site/plugins/admin/views/templates/content/entries/rename.php deleted file mode 100644 index 8843b31a..00000000 --- a/site/plugins/admin/views/templates/content/entries/rename.php +++ /dev/null @@ -1,46 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries', - 'title' => __('admin_entries_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'entries_add' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/rename', - 'title' => __('admin_entries_rename'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('entry', $entry) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - - - -
- 'entryName']) ?> - 'form-control', 'id' => 'entryName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_entries_error_title_empty_input')]) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/source.html b/site/plugins/admin/views/templates/content/entries/source.html new file mode 100644 index 00000000..662b5021 --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/source.html @@ -0,0 +1,16 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + + +
+
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/source.php b/site/plugins/admin/views/templates/content/entries/source.php deleted file mode 100644 index 4cb74557..00000000 --- a/site/plugins/admin/views/templates/content/entries/source.php +++ /dev/null @@ -1,58 +0,0 @@ - - -display(); - Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'edit_entry' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name, - 'title' => __('admin_entries_editor'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'edit_entry_media' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&media=true', - 'title' => __('admin_entries_edit_media'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'edit_entry_source' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/edit?entry=' . $entry_name . '&source=true', - 'title' => __('admin_entries_editor_source'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ], - 'view_entry' => [ - 'link' => Http::getBaseUrl() . '/' . $entry_name, - 'title' => __('admin_preview'), - 'attributes' => ['class' => 'float-right btn', 'target' => '_blank'] - ] - ]) - ->assign('entry', $entry) - ->display(); - Themes::view('admin/views/partials/content-start')->display(); -?> - - 'form']) ?> - - - -
-
-
- 'form-control', 'style' => 'min-height:500px;', 'id' => 'codeMirrorEditor']) ?> -
-
-
- - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/content/entries/type.html b/site/plugins/admin/views/templates/content/entries/type.html new file mode 100644 index 00000000..a9f283f2 --- /dev/null +++ b/site/plugins/admin/views/templates/content/entries/type.html @@ -0,0 +1,23 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+
+
+ {{ csrf() }} + +
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/content/entries/type.php b/site/plugins/admin/views/templates/content/entries/type.php deleted file mode 100644 index 55cb18a9..00000000 --- a/site/plugins/admin/views/templates/content/entries/type.php +++ /dev/null @@ -1,42 +0,0 @@ - - -display(); - Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/entries', - 'title' => __('admin_entries_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'entries_move' => [ - 'link' => Http::getBaseUrl() . '/admin/entries/move', - 'title' => __('admin_type'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('entry', Http::get('entry')) - ->display(); - Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - -
- - 'form-control']) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/fieldsets/add.html b/site/plugins/admin/views/templates/extends/fieldsets/add.html new file mode 100644 index 00000000..fd53c91d --- /dev/null +++ b/site/plugins/admin/views/templates/extends/fieldsets/add.html @@ -0,0 +1,22 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} +
+
+
+ + +
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/fieldsets/add.php b/site/plugins/admin/views/templates/extends/fieldsets/add.php deleted file mode 100644 index 77a42369..00000000 --- a/site/plugins/admin/views/templates/extends/fieldsets/add.php +++ /dev/null @@ -1,47 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'fieldsets' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets', - 'title' => __('admin_fieldsets'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'fieldsets_add' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets/add', - 'title' => __('admin_create_new_fieldset'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - -
- 'fieldsetTitle']) ?> - 'form-control', 'id' => 'fieldsetTitle', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_fieldsets_error_name_empty_input')]) ?> -
-
- 'fieldsetName']) ?> - 'form-control', 'id' => 'fieldsetName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_fieldsets_error_name_empty_input')]) ?> -
-
-
- 'btn btn-black']) ?> - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/fieldsets/edit.html b/site/plugins/admin/views/templates/extends/fieldsets/edit.html new file mode 100644 index 00000000..a9874288 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/fieldsets/edit.html @@ -0,0 +1,16 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + + +
+
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/fieldsets/edit.php b/site/plugins/admin/views/templates/extends/fieldsets/edit.php deleted file mode 100644 index 7c661be0..00000000 --- a/site/plugins/admin/views/templates/extends/fieldsets/edit.php +++ /dev/null @@ -1,49 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'fieldset' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets/edit?fieldset=' . Http::get('fieldset'), - 'title' => __('admin_fieldset'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- 'form']) ?> - - - -
-
-
- 'form-control', 'style' => 'min-height:500px;', 'id' => 'codeMirrorEditor']) ?> -
-
-
- -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/fieldsets/index.html b/site/plugins/admin/views/templates/extends/fieldsets/index.html new file mode 100644 index 00000000..02fb24fe --- /dev/null +++ b/site/plugins/admin/views/templates/extends/fieldsets/index.html @@ -0,0 +1,48 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +{% if fieldsets_list|length > 0 %} + + + + + + + + + {% for id, title in fieldsets_list %} + + + + + {% endfor %} + +
{{ tr('admin_name') }}
+ {{ title }} + + + + + {{ tr('admin_delete') }} +
+{% endif %} +{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/fieldsets/list.php b/site/plugins/admin/views/templates/extends/fieldsets/list.php deleted file mode 100644 index beadc7de..00000000 --- a/site/plugins/admin/views/templates/extends/fieldsets/list.php +++ /dev/null @@ -1,60 +0,0 @@ - - - -display() ?> -assign('links', [ - 'fieldsets' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets', - 'title' => __('admin_fieldsets'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets/add', - 'title' => __('admin_create_new_fieldset'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display() -?> -display() ?> - - 0): ?> - - - - - - - - - $fieldset): ?> - - - - - - -
- - -
- - - -
- -
- - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/fieldsets/rename.html b/site/plugins/admin/views/templates/extends/fieldsets/rename.html new file mode 100644 index 00000000..0c3dc044 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/fieldsets/rename.html @@ -0,0 +1,19 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + +
+
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/fieldsets/rename.php b/site/plugins/admin/views/templates/extends/fieldsets/rename.php deleted file mode 100644 index d5c83e3f..00000000 --- a/site/plugins/admin/views/templates/extends/fieldsets/rename.php +++ /dev/null @@ -1,44 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'fieldsets' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets', - 'title' => __('admin_fieldsets'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'fieldsets_add' => [ - 'link' => Http::getBaseUrl() . '/admin/fieldsets/rename?fieldset=' . $name_current, - 'title' => __('admin_rename'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - -
- 'fieldsetName']) ?> - 'form-control', 'id' => 'fieldsetName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_fieldset_error_title_empty_input')]) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/menus/add.php b/site/plugins/admin/views/templates/extends/menus/add.php deleted file mode 100644 index 5d19fed4..00000000 --- a/site/plugins/admin/views/templates/extends/menus/add.php +++ /dev/null @@ -1,47 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'menus' => [ - 'link' => Http::getBaseUrl() . '/admin/menus', - 'title' => __('admin_menus_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'menus_add' => [ - 'link' => Http::getBaseUrl() . '/admin/menus/add', - 'title' => __('admin_create_new_menu'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - -
- 'menuTitle']) ?> - 'form-control', 'id' => 'menuTitle', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_menus_error_name_empty_input')]) ?> -
-
- 'menuName']) ?> - 'form-control', 'id' => 'menuName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_menus_error_name_empty_input')]) ?> -
-
-
- 'btn btn-black']) ?> - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/menus/edit.php b/site/plugins/admin/views/templates/extends/menus/edit.php deleted file mode 100644 index 3326d8f1..00000000 --- a/site/plugins/admin/views/templates/extends/menus/edit.php +++ /dev/null @@ -1,49 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'menu' => [ - 'link' => Http::getBaseUrl() . '/admin/menus/edit?menu=' . Http::get('menu'), - 'title' => __('admin_menu'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- 'form']) ?> - - - -
-
-
- 'form-control', 'style' => 'min-height:500px;', 'id' => 'codeMirrorEditor']) ?> -
-
-
- -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/menus/list.php b/site/plugins/admin/views/templates/extends/menus/list.php deleted file mode 100644 index e8107e25..00000000 --- a/site/plugins/admin/views/templates/extends/menus/list.php +++ /dev/null @@ -1,60 +0,0 @@ - - - -display() ?> -assign('links', [ - 'menus' => [ - 'link' => Http::getBaseUrl() . '/admin/menus', - 'title' => __('admin_menus_heading'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/menus/add', - 'title' => __('admin_create_new_menu'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display() -?> -display() ?> - - 0): ?> - - - - - - - - - $menu): ?> - - - - - - -
- - -
- - - -
- -
- - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/menus/rename.php b/site/plugins/admin/views/templates/extends/menus/rename.php deleted file mode 100644 index 48e04e03..00000000 --- a/site/plugins/admin/views/templates/extends/menus/rename.php +++ /dev/null @@ -1,44 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'menus' => [ - 'link' => Http::getBaseUrl() . '/admin/menus', - 'title' => __('admin_menus_heading'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'menus_add' => [ - 'link' => Http::getBaseUrl() . '/admin/menus/rename?menu=' . $name_current, - 'title' => __('admin_rename'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - -
- 'menuName']) ?> - 'form-control', 'id' => 'menuName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_menu_error_title_empty_input')]) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/plugins/index.html b/site/plugins/admin/views/templates/extends/plugins/index.html new file mode 100644 index 00000000..5785ea20 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/plugins/index.html @@ -0,0 +1,77 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} + + + + + + + + + + {% for key, plugin in plugins_list %} + + + + + + {% endfor %} + +
{{ tr('admin_name') }}{{ tr('admin_status') }}
{{ plugin.name }} + {{ tr('admin_info') }} + +
+ + + + + +
+
+ + + + +{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/plugins/list.php b/site/plugins/admin/views/templates/extends/plugins/list.php deleted file mode 100644 index 0b2ddad3..00000000 --- a/site/plugins/admin/views/templates/extends/plugins/list.php +++ /dev/null @@ -1,95 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'plugins' => [ - 'link' => Http::getBaseUrl() . '/admin/plugins', - 'title' => __('admin_plugins_heading'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'plugins_get_more' => [ - 'link' => 'http://flextype.org/download/plugins', - 'title' => __('admin_plugins_get_more_plugins'), - 'attributes' => ['class' => 'float-right btn', 'target' => '_blank'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
- -
- - - - - - - - - - - $plugin): ?> - - - - - - - -
- - -
- - disabled> - - -
-
- - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/snippets/add.html b/site/plugins/admin/views/templates/extends/snippets/add.html new file mode 100644 index 00000000..9b6ff31d --- /dev/null +++ b/site/plugins/admin/views/templates/extends/snippets/add.html @@ -0,0 +1,18 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} +
+
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/snippets/add.php b/site/plugins/admin/views/templates/extends/snippets/add.php deleted file mode 100644 index c983431c..00000000 --- a/site/plugins/admin/views/templates/extends/snippets/add.php +++ /dev/null @@ -1,43 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'snippets' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets', - 'title' => __('admin_snippets'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'snippets_add' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets/add', - 'title' => __('admin_create_new_snippet'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - -
- 'snippetName']) ?> - 'form-control', 'id' => 'snippetName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_snippets_error_name_empty_input')]) ?> -
-
-
- 'btn btn-black']) ?> - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/snippets/edit.html b/site/plugins/admin/views/templates/extends/snippets/edit.html new file mode 100644 index 00000000..662b5021 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/snippets/edit.html @@ -0,0 +1,16 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + + +
+
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/snippets/edit.php b/site/plugins/admin/views/templates/extends/snippets/edit.php deleted file mode 100644 index 800587a4..00000000 --- a/site/plugins/admin/views/templates/extends/snippets/edit.php +++ /dev/null @@ -1,49 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'snippet' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets/edit?snippet=' . Http::get('snippet'), - 'title' => __('admin_snippet'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- 'form']) ?> - - - -
-
-
- 'form-control', 'style' => 'min-height:500px;', 'id' => 'codeMirrorEditor']) ?> -
-
-
- -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/snippets/index.html b/site/plugins/admin/views/templates/extends/snippets/index.html new file mode 100644 index 00000000..cb78f88f --- /dev/null +++ b/site/plugins/admin/views/templates/extends/snippets/index.html @@ -0,0 +1,84 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +{% if snippets_list|length > 0 %} + + + + + + + + + {% if snippets_list|length > 0 %} + {% for id in snippets_list %} + + + + + {% endfor %} + {% endif %} + +
{{ tr('admin_name') }}
+ {{ id }} + + + + + {{ tr('admin_delete') }} +
+{% endif %} + + + + + +{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/snippets/list.php b/site/plugins/admin/views/templates/extends/snippets/list.php deleted file mode 100644 index c19d44b1..00000000 --- a/site/plugins/admin/views/templates/extends/snippets/list.php +++ /dev/null @@ -1,93 +0,0 @@ - - - -display() ?> -assign('links', [ - 'snippets' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets', - 'title' => __('admin_snippets'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets/add', - 'title' => __('admin_create_new_snippet'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display() -?> -display() ?> - - 0): ?> - - - - - - - - - - - - - - - -
- - -
- - - -
- -
- - - - - - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/snippets/rename.html b/site/plugins/admin/views/templates/extends/snippets/rename.html new file mode 100644 index 00000000..4b78b9bb --- /dev/null +++ b/site/plugins/admin/views/templates/extends/snippets/rename.html @@ -0,0 +1,19 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + +
+
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/snippets/rename.php b/site/plugins/admin/views/templates/extends/snippets/rename.php deleted file mode 100644 index fe5ad566..00000000 --- a/site/plugins/admin/views/templates/extends/snippets/rename.php +++ /dev/null @@ -1,44 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'snippets' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets', - 'title' => __('admin_snippets'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'snippets_add' => [ - 'link' => Http::getBaseUrl() . '/admin/snippets/rename?snippet=' . $name_current, - 'title' => __('admin_rename'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - -
- 'snippetName']) ?> - 'form-control', 'id' => 'snippetName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_snippet_error_title_empty_input')]) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/templates/add.html b/site/plugins/admin/views/templates/extends/templates/add.html new file mode 100644 index 00000000..db51d0e8 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/templates/add.html @@ -0,0 +1,25 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} +
+
+
+ + +
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/templates/add.php b/site/plugins/admin/views/templates/extends/templates/add.php deleted file mode 100644 index 25650108..00000000 --- a/site/plugins/admin/views/templates/extends/templates/add.php +++ /dev/null @@ -1,47 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'templates' => [ - 'link' => Http::getBaseUrl() . '/admin/templates', - 'title' => __('admin_templates'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'templates_add' => [ - 'link' => Http::getBaseUrl() . '/admin/templates/add', - 'title' => __('admin_create_new_template'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - -
- 'templateName']) ?> - 'form-control', 'id' => 'templateName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_templates_error_name_empty_input')]) ?> -
-
- 'templateType']) ?> - __('admin_template'), 'partial' => __('admin_partial')], 'template', ['class' => 'form-control', 'id' => 'templateType']) ?> -
-
-
- 'btn btn-black']) ?> - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/templates/edit.html b/site/plugins/admin/views/templates/extends/templates/edit.html new file mode 100644 index 00000000..c52ff383 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/templates/edit.html @@ -0,0 +1,17 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + + + +
+
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/templates/edit.php b/site/plugins/admin/views/templates/extends/templates/edit.php deleted file mode 100644 index 2d00a48e..00000000 --- a/site/plugins/admin/views/templates/extends/templates/edit.php +++ /dev/null @@ -1,50 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'template' => [ - 'link' => Http::getBaseUrl() . '/admin/templates/edit?template=' . Http::get('template') . '&type='.$type, - 'title' => __('admin_template'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save_entry' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- 'form']) ?> - - - - -
-
-
- 'form-control', 'style' => 'min-height:500px;', 'id' => 'codeMirrorEditor']) ?> -
-
-
- -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/templates/index.html b/site/plugins/admin/views/templates/extends/templates/index.html new file mode 100644 index 00000000..7cf25f48 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/templates/index.html @@ -0,0 +1,92 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +{% if (templates_list|length > 0) or (partials_list|length > 0) %} + + + + + + + + + + {% if templates_list|length > 0 %} + {% for id in templates_list %} + + + + + + {% endfor %} + {% endif %} + + {% if partials_list|length > 0 %} + {% for id in partials_list %} + + + + + + {% endfor %} + {% endif %} + +
{{ tr('admin_name') }}{{ tr('admin_type') }}
+ {{ id }} + {{ tr('admin_template') }} + + + + {{ tr('admin_delete') }} +
+ {{ id }} + {{ tr('admin_partial') }} + + + + {{ tr('admin_delete') }} +
+{% endif %} +{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/templates/list.php b/site/plugins/admin/views/templates/extends/templates/list.php deleted file mode 100644 index 579ae03e..00000000 --- a/site/plugins/admin/views/templates/extends/templates/list.php +++ /dev/null @@ -1,87 +0,0 @@ - - - -display() ?> -assign('links', [ - 'templates' => [ - 'link' => Http::getBaseUrl() . '/admin/templates', - 'title' => __('admin_templates'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'entries' => [ - 'link' => Http::getBaseUrl() . '/admin/templates/add', - 'title' => __('admin_create_new_template'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display() -?> -display() ?> - - 0 || count($partials_list) > 0): ?> - - - - - - - - - - 0): ?> - - - - - - - - - 0): ?> - - - - - - - - - -
- - -
- - - -
- -
- - -
- - - -
- -
- - - - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/extends/templates/rename.html b/site/plugins/admin/views/templates/extends/templates/rename.html new file mode 100644 index 00000000..66868b84 --- /dev/null +++ b/site/plugins/admin/views/templates/extends/templates/rename.html @@ -0,0 +1,20 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + + +
+
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/templates/rename.php b/site/plugins/admin/views/templates/extends/templates/rename.php deleted file mode 100644 index 596c074d..00000000 --- a/site/plugins/admin/views/templates/extends/templates/rename.php +++ /dev/null @@ -1,49 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'templates' => [ - 'link' => Http::getBaseUrl() . '/admin/templates', - 'title' => __('admin_templates'), - 'attributes' => ['class' => 'navbar-item'] - ], - 'templates_add' => [ - 'link' => Http::getBaseUrl() . '/admin/templates/rename?template=' . $name_current, - 'title' => __('admin_rename'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
-
- - - - -
- 'templateName']) ?> - 'form-control', 'id' => 'templateName', 'required', 'data-validation' => 'length required', 'data-validation-allowing' => '-_', 'data-validation-length' => 'min1', 'data-validation-error-msg' => __('admin_template_error_title_empty_input')]) ?> -
-
- 'templateType']) ?> - __('admin_template'), 'partial' => __('admin_partial')], $type, ['class' => 'form-control', 'id' => 'templateType']) ?> -
- 'btn btn-black btn-fill btn-wd']) ?> - -
-
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/system/information/index.html b/site/plugins/admin/views/templates/system/information/index.html new file mode 100644 index 00000000..0571ae10 --- /dev/null +++ b/site/plugins/admin/views/templates/system/information/index.html @@ -0,0 +1,63 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +

{{ tr('admin_system') }}

+ + + + + + + + + + + + + + + +
{{ tr('admin_flextype_version') }}{{ flextype_version }}
{{ tr('admin_debugging') }} + {% if registry.settings.errors.display %} + {{ tr('admin_on') }} + {% else %} + {{ tr('admin_off') }} + {% endif %} +
{{ tr('admin_cache') }} + {% if registry.settings.cache.enabled %} + {{ tr('admin_on') }} + {% else %} + {{ tr('admin_off') }} + {% endif %} +
+ +

+ +

{{ tr('admin_server') }}

+ + + + + + + + + + + + + + + + + + + + {% if apache_mod_rewrite_installed %} + + {% else %} + + {% endif %} + +
{{ tr('admin_php_version') }}
{{ tr('admin_php_built_on') }}{{ php_uname }}
{{ tr('admin_web_server') }}{{ webserver }}
{{ tr('admin_web_server_php_interface') }}{{ php_sapi_name }}
Apache Mod Rewrite{{ tr('admin_installed') }}
Apache Mod Rewrite{{ tr('admin_not_installed') }}
+{% endblock %} diff --git a/site/plugins/admin/views/templates/system/information/list.php b/site/plugins/admin/views/templates/system/information/list.php deleted file mode 100644 index 33d6dbf4..00000000 --- a/site/plugins/admin/views/templates/system/information/list.php +++ /dev/null @@ -1,120 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'information' => [ - 'link' => Http::getBaseUrl() . '/admin/information', - 'title' => __('admin_menu_system_information'), - 'attributes' => ['class' => 'navbar-item active'] - ], - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -

- - - - - - - - - - - - - - - - -
-

- - -

- - - - - - - - - - - - - - - - - - - - '; - } else { - echo ''; - } - } else { - echo ''; - } - ?> - '; - } else { - echo ''; - } - ?> - '; - } else { - echo ''; - } - ?> - -
'.'Apache Mod Rewrite'.''.__('admin_not_installed').'
'.'Apache Mod Rewrite'.''.__('admin_installed').'
'.'Apache Mod Rewrite'.''.__('admin_installed').'
'.'password_hash()'.''.__('admin_not_installed').'
'.'password_hash()'.''.__('admin_installed').'
'.'password_verify()'.''.__('admin_not_installed').'
'.'password_verify()'.''.__('admin_installed').'
-
-
- - - - -

- - - - - - - - - - - - - - - - - - - -
ROOT_DIR . '/.htaccess']) ?>
ROOT_DIR . '/index.php']) ?>
-

- - -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/system/settings/index.html b/site/plugins/admin/views/templates/system/settings/index.html new file mode 100644 index 00000000..4bd26731 --- /dev/null +++ b/site/plugins/admin/views/templates/system/settings/index.html @@ -0,0 +1,265 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ {{ csrf() }} + +
+ +
+

{{ tr('admin_site') }}

+
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+

{{ tr('admin_general') }}

+
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+

{{ tr('admin_media') }}

+
+
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ +
+
+ +
+
+

{{ tr('admin_error_404_page') }}

+
+
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ +
+
+

{{ tr('admin_debugging') }}

+
+
+ +
+
+ + +
+
+ +
+
+

{{ tr('admin_cache') }}

+
+
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+ +
+
+

{{ tr('admin_admin_panel') }}

+
+
+ +
+
+ + +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/system/settings/list.php b/site/plugins/admin/views/templates/system/settings/list.php deleted file mode 100644 index 6a097be4..00000000 --- a/site/plugins/admin/views/templates/system/settings/list.php +++ /dev/null @@ -1,270 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'settings' => [ - 'link' => Http::getBaseUrl() . '/admin/settings', - 'title' => __('admin_system_settings_heading'), - 'attributes' => ['class' => 'navbar-item active'] - ] - ]) - ->assign('buttons', [ - 'save' => [ - 'link' => 'javascript:;', - 'title' => __('admin_save'), - 'attributes' => ['class' => 'js-save-form-submit float-right btn'] - ], - 'settings_clear_cache' => [ - 'link' => Http::getBaseUrl() . '/admin/settings?clear_cache=1&token='.Token::generate(), - 'title' => __('admin_system_clear_cache'), - 'attributes' => ['class' => 'float-right btn'] - ] - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - - 'form']) ?> - - -
- -
-

-
-
- -
-
- 'systemSettingsSiteTitle']) ?> - 'form-control', 'id' => 'systemSettingsSiteTitle', 'required']) ?> -
-
- 'systemSettingsSiteDescription']) ?> - 'form-control margin-hard-bottom', 'id' => 'systemSettingsSiteDescription']) ?> -
-
- 'systemSettingsSiteKeywords']) ?> - 'form-control', 'id' => 'systemSettingsSiteKeywords', 'required']) ?> -
-
-
-
- 'systemSettingsSiteRobots']) ?> - 'form-control', 'id' => 'systemSettingsSiteRobots', 'required']) ?> -
-
- 'systemSettingsSiteAuthorName']) ?> - 'form-control', 'id' => 'systemSettingsSiteAuthorName', 'required']) ?> -
-
- 'systemSettingsSiteAuthorEmail']) ?> - 'form-control', 'id' => 'systemSettingsSiteAuthorEmail', 'required']) ?> -
-
- -
-
-

-
-
- -
-
- 'systemSettingsSystemTimezone']) ?> - 'form-control', 'id' => 'systemSettingsSystemTimezone', 'required']) ?> -
-
- 'systemSettingsSystemDateFormat']) ?> - 'form-control', 'id' => 'systemSettingsSystemDateFormat', 'required']) ?> -
-
- 'systemSettingsSystemCharset']) ?> - 'form-control', 'id' => 'systemSettingsSystemCharset', 'required']) ?> -
-
-
-
- 'systemSettingsSystemTheme']) ?> - 'form-control', 'id' => 'systemSettingsSystemTheme', 'required']) ?> -
-
- 'systemSettingsSystemLocale']) ?> - 'form-control', 'id' => 'entryTemplate']) ?> -
-
- 'systemSettingsSystemEntriesMain']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesMain', 'required']) ?> -
-
- -
-
-

-
-
- -
-
- 'systemSettingsSystemTheme']) ?> - 'form-control', 'id' => 'systemSettingsSystemTheme', 'required']) ?> -
-
- 'systemSettingsSystemTheme']) ?> - 'form-control', 'id' => 'systemSettingsSystemTheme', 'required']) ?> -
-
-
-
- 'systemSettingsSystemTheme']) ?> - 'form-control', 'id' => 'systemSettingsSystemTheme', 'required']) ?> -
-
- 'systemSettingsSystemEntriesMain']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesMain', 'required']) ?> -
-
- -
-
-

-
-
- -
-
- 'systemSettingsSystemEntriesError404Title']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesError404Title', 'required']) ?> -
-
- 'systemSettingsSystemEntriesError404Description']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesError404Description', 'required']) ?> -
-
-
-
- 'systemSettingsSystemEntriesError404Content']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesError404Content', 'required']) ?> -
-
- 'systemSettingsSystemEntriesError404Template']) ?> - 'form-control', 'id' => 'systemSettingsSystemEntriesError404Template', 'required']) ?> -
-
- -
-
-

-
-
- -
-
- 'systemSettingsSystemErrorsDisplay']) ?> - __('admin_system_settings_system_errors_enabled_false'), 1 => __('admin_system_settings_system_errors_enabled_true')], $settings['errors']['display'], ['class' => 'form-control', 'id' => 'systemSettingsSystemErrorsDisplay', 'required']) ?> -
-
- - -
-
-

-
-
- -
-
- 'systemSettingsSystemCacheEnabled']) ?> - __('admin_system_settings_system_cache_enabled_false'), 1 => __('admin_system_settings_system_cache_enabled_true')], $settings['cache']['enabled'], ['class' => 'form-control', 'id' => 'systemSettingsSystemCacheEnabled', 'required']) ?> -
-
- 'systemSettingsSystemCachePrefix']) ?> - 'form-control', 'id' => 'systemSettingsSystemCachePrefix', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheDriver']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheDriver', 'required']) ?> -
-
- 'systemSettingsSystemCacheLifetime']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheLifetime', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheMemcacheServer']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheMemcacheServer', 'required']) ?> -
-
- 'systemSettingsSystemCacheMemcachePort']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheMemcachePort', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheMemcachedServer']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheMemcachedServer', 'required']) ?> -
-
- 'systemSettingsSystemCacheMemcachedPort']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheMemcachedPort', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheRedisSocket']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheRedisSocket', 'required']) ?> -
-
- 'systemSettingsSystemCacheRedisPassword']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheRedisPassword', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheRedisServer']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheRedisServer', 'required']) ?> -
-
- 'systemSettingsSystemCacheRedisPort']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheRedisPort', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheSQLite3Database']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheSQLite3Database', 'required']) ?> -
-
-
-
- 'systemSettingsSystemCacheSQLite3Table']) ?> - 'form-control', 'id' => 'systemSettingsSystemCacheSQLite3Table', 'required']) ?> -
-
- -
-
-

-
-
- -
-
- 'systemSettingsSystemAdminPanelTheme']) ?> - __('admin_system_settings_admin_panel_theme_light'), 'dark' => __('admin_system_settings_admin_panel_theme_dark')], $settings['admin_panel']['theme'], ['class' => 'form-control', 'id' => 'systemSettingsSystemAdminPanelTheme', 'required']) ?> -
-
-
- - -display(); -Themes::view('admin/views/partials/footer')->display(); -?> diff --git a/site/plugins/admin/views/templates/users/login.html b/site/plugins/admin/views/templates/users/login.html new file mode 100644 index 00000000..c62620a9 --- /dev/null +++ b/site/plugins/admin/views/templates/users/login.html @@ -0,0 +1,24 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ + +
+
+

{{ tr('admin_login') }}

+
+ + +
+
+ + +
+
+ +
+
+
+
+{% endblock %} diff --git a/site/plugins/admin/views/templates/users/profile.html b/site/plugins/admin/views/templates/users/profile.html new file mode 100644 index 00000000..dca93ecd --- /dev/null +++ b/site/plugins/admin/views/templates/users/profile.html @@ -0,0 +1,16 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} +
+ + {{ tr('admin_username') }}: {{ username }}
+ {{ tr('admin_role') }}: {{ rolename }}
+
+ + {{ tr('admin_logout') }} +
+{% endblock %} diff --git a/site/plugins/admin/views/templates/users/profile.php b/site/plugins/admin/views/templates/users/profile.php deleted file mode 100644 index 3af347b8..00000000 --- a/site/plugins/admin/views/templates/users/profile.php +++ /dev/null @@ -1,29 +0,0 @@ -display(); -Themes::view('admin/views/partials/navbar') - ->assign('links', [ - 'information' => [ - 'link' => Http::getBaseUrl() . '/admin/profile', - 'title' => __('admin_menu_profile'), - 'attributes' => ['class' => 'navbar-item active'] - ], - ]) - ->display(); -Themes::view('admin/views/partials/content-start')->display(); -?> - -
- - :
- :
-
- -
- -display() ?> -display() ?> diff --git a/site/plugins/admin/views/templates/users/registration.html b/site/plugins/admin/views/templates/users/registration.html new file mode 100644 index 00000000..351ec960 --- /dev/null +++ b/site/plugins/admin/views/templates/users/registration.html @@ -0,0 +1,29 @@ +{% extends "plugins/admin/views/partials/base.html" %} + +{% block content %} + +
+ {{ csrf() }} +
+
+

{{ tr('admin_create_new_user') }}

+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+
+ +{% endblock %} diff --git a/site/plugins/site/app/Controllers/SiteController.php b/site/plugins/site/app/Controllers/SiteController.php new file mode 100644 index 00000000..159ac121 --- /dev/null +++ b/site/plugins/site/app/Controllers/SiteController.php @@ -0,0 +1,72 @@ +registry->get('settings.entries.main'); + } else { + $entry_uri = ltrim($uri, '/'); + } + + // Get entry body + $entry_body = $this->entries->fetch($entry_uri); + + // is entry not found + $is_entry_not_found = false; + + // If entry body is not false + if ($entry_body) { + + // Get 404 page if entry is not published + if (isset($entry_body['visibility']) && ($entry_body['visibility'] === 'draft' || $entry_body['visibility'] === 'hidden')) { + + $entry['title'] = $this->registry->get('settings.entries.error404.title'); + $entry['description'] = $this->registry->get('settings.entries.error404.description'); + $entry['content'] = $this->registry->get('settings.entries.error404.content'); + $entry['template'] = $this->registry->get('settings.entries.error404.template'); + + $is_entry_not_found = true; + + } else { + $entry = $entry_body; + } + } else { + + $entry['title'] = $this->registry->get('settings.entries.error404.title'); + $entry['description'] = $this->registry->get('settings.entries.error404.description'); + $entry['content'] = $this->registry->get('settings.entries.error404.content'); + $entry['template'] = $this->registry->get('settings.entries.error404.template'); + + $is_entry_not_found = true; + } + + $path = 'themes/' . $this->registry->get('settings.theme') . '/' . (empty($entry['template']) ? 'templates/default' : 'templates/' . $entry['template']) . '.html'; + + if ($is_entry_not_found) { + return $this->view->render($response->withStatus(404), $path, ['entry' => $entry]); + } else { + return $this->view->render($response, $path, ['entry' => $entry]); + } + } + +} diff --git a/site/plugins/site/bootstrap.php b/site/plugins/site/bootstrap.php new file mode 100644 index 00000000..7025f462 --- /dev/null +++ b/site/plugins/site/bootstrap.php @@ -0,0 +1,19 @@ +composer install"); + +// Register The Auto Loader +$loader = require_once $autoload; + +// Include routes +include_once 'routes/web.php'; + +/** + * Add site controller to Flextype container + */ +$flextype['SiteController'] = function($container) { + return new SiteController($container); +}; diff --git a/site/plugins/site/composer.json b/site/plugins/site/composer.json new file mode 100644 index 00000000..21b3f95a --- /dev/null +++ b/site/plugins/site/composer.json @@ -0,0 +1,26 @@ +{ + "name": "flextype-plugins/site", + "type": "project", + "description": "Site plugin for Flextype", + "keywords": ["site", "plugin", "flextype", "php", "html"], + "homepage": "https://github.com/flextype", + "license": "MIT", + "authors": [ + { + "name": "Sergey Romanenko", + "email": "hello@romanenko.digital", + "homepage": "http://romanenko.digital" + } + ], + "support": { + "issues": "https://github.com/flextype/issues" + }, + "require": { + "php": ">=7.1.3" + }, + "autoload": { + "classmap": [ + "app" + ] + } +} diff --git a/site/plugins/site/plugin.json b/site/plugins/site/plugin.json new file mode 100755 index 00000000..44a9c54b --- /dev/null +++ b/site/plugins/site/plugin.json @@ -0,0 +1,13 @@ +{ + "name": "Site", + "version": "0.0.0", + "description": "Site plugin for Flextype", + "author": { + "name": "Sergey Romanenko", + "email": "hello@romanenko.digital", + "url": "http://flextype.org" + }, + "homepage": "https://github.com/flextype", + "bugs": "https://github.com/flextype/issues", + "license": "MIT" +} diff --git a/site/plugins/site/routes/web.php b/site/plugins/site/routes/web.php new file mode 100644 index 00000000..094152c0 --- /dev/null +++ b/site/plugins/site/routes/web.php @@ -0,0 +1,5 @@ +get('{uri:.+}', 'SiteController:index')->setName('site.index'); diff --git a/site/plugins/site/settings.json b/site/plugins/site/settings.json new file mode 100644 index 00000000..bde23552 --- /dev/null +++ b/site/plugins/site/settings.json @@ -0,0 +1,4 @@ +{ + "enabled": true, + "priority": -1000000 +} diff --git a/site/themes/default/assets/scss/simple.scss b/site/themes/default/assets/scss/simple.scss index c37a0ced..3ac24f57 100755 --- a/site/themes/default/assets/scss/simple.scss +++ b/site/themes/default/assets/scss/simple.scss @@ -1,6 +1,6 @@ // // Simple Theme main SCSS -// (c) Sergey Romanenko +// (c) Sergey Romanenko // // Generic diff --git a/site/themes/default/default.yaml b/site/themes/default/default.yaml deleted file mode 100755 index 53a662b3..00000000 --- a/site/themes/default/default.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: Default -version: 1.0.0 -description: Default theme for Flextype -author: - name: Sergey Romanenko - email: awilum@yandex.ru - url: https://github.com/Awilum -homepage: https://github.com/flextype/flextype -bugs: https://github.com/flextype/flextype/issues -license: MIT diff --git a/site/themes/default/fieldsets/about.yaml b/site/themes/default/fieldsets/about.yaml deleted file mode 100644 index 5a0dae20..00000000 --- a/site/themes/default/fieldsets/about.yaml +++ /dev/null @@ -1,14 +0,0 @@ -title: About -fields: - title: - title: admin_title - type: text - size: col-12 - content: - title: admin_content - type: html - size: col-12 - image: - title: admin_entries_files - type: media_select - size: col-3 \ No newline at end of file diff --git a/site/themes/default/fieldsets/blog-post.yaml b/site/themes/default/fieldsets/blog-post.yaml deleted file mode 100644 index a158b19e..00000000 --- a/site/themes/default/fieldsets/blog-post.yaml +++ /dev/null @@ -1,14 +0,0 @@ -title: 'Blog Post' -fields: - title: - title: admin_title - type: text - size: col-12 - summary: - title: admin_summary - type: html - size: col-12 - content: - title: admin_content - type: html - size: col-12 diff --git a/site/themes/default/fieldsets/blog.yaml b/site/themes/default/fieldsets/blog.yaml deleted file mode 100644 index 6360bfb8..00000000 --- a/site/themes/default/fieldsets/blog.yaml +++ /dev/null @@ -1,6 +0,0 @@ -title: Blog -fields: - title: - title: admin_title - type: text - size: col-12 \ No newline at end of file diff --git a/site/themes/default/fieldsets/default.yaml b/site/themes/default/fieldsets/default.yaml deleted file mode 100644 index 7fd75bde..00000000 --- a/site/themes/default/fieldsets/default.yaml +++ /dev/null @@ -1,20 +0,0 @@ -title: Default -fields: - title: - title: admin_title - type: text - content: - title: admin_content - type: html - template: - title: admin_template - type: template_select - size: col-4 - visibility: - title: admin_visibility - type: visibility_select - size: col-4 - date: - title: admin_date - type: text - size: col-4 diff --git a/site/themes/default/gulpfile.js b/site/themes/default/gulpfile.js index f6dacacc..f42b36d2 100755 --- a/site/themes/default/gulpfile.js +++ b/site/themes/default/gulpfile.js @@ -1,6 +1,6 @@ // // Flextype Gulp.js -// (c) Sergey Romanenko +// (c) Sergey Romanenko // var Promise = require("es6-promise").Promise, diff --git a/site/themes/default/settings.json b/site/themes/default/settings.json new file mode 100755 index 00000000..4e609c71 --- /dev/null +++ b/site/themes/default/settings.json @@ -0,0 +1,3 @@ +{ + "enabled": true +} diff --git a/site/themes/default/settings.yaml b/site/themes/default/settings.yaml deleted file mode 100755 index d4ca9418..00000000 --- a/site/themes/default/settings.yaml +++ /dev/null @@ -1 +0,0 @@ -enabled: true diff --git a/site/themes/default/templates/about.html b/site/themes/default/templates/about.html new file mode 100644 index 00000000..feb07539 --- /dev/null +++ b/site/themes/default/templates/about.html @@ -0,0 +1,6 @@ +{% extends "themes/default/templates/partials/base.html" %} + +{% block content %} + {{ entry.content|shortcode|raw}} + +{% endblock %} diff --git a/site/themes/default/templates/blog-post.html b/site/themes/default/templates/blog-post.html new file mode 100644 index 00000000..bfc1267e --- /dev/null +++ b/site/themes/default/templates/blog-post.html @@ -0,0 +1,8 @@ +{% extends "themes/default/templates/partials/base.html" %} + +{% block content %} +

{{ entry.title }}

+
+ {{ entry.content|shortcode|raw}} +
+{% endblock %} diff --git a/site/themes/default/templates/blog.html b/site/themes/default/templates/blog.html new file mode 100644 index 00000000..24a40efe --- /dev/null +++ b/site/themes/default/templates/blog.html @@ -0,0 +1,15 @@ +{% extends "themes/default/templates/partials/base.html" %} + +{% block content %} + +

{{ entry.title }}

+ + {% for entry in entries_fetch_all('blog', 'date', 'DESC') %} + +

{{ entry.title }}

+

{{ entry.summary|shortcode|raw}}

+
{{ entry.date }}
+
+ {% endfor %} + +{% endblock %} diff --git a/site/themes/default/templates/default.html b/site/themes/default/templates/default.html new file mode 100644 index 00000000..595e5773 --- /dev/null +++ b/site/themes/default/templates/default.html @@ -0,0 +1,5 @@ +{% extends "themes/default/templates/partials/base.html" %} + +{% block content %} + {{ entry.content|shortcode|raw}} +{% endblock %} diff --git a/site/themes/default/templates/home.html b/site/themes/default/templates/home.html new file mode 100644 index 00000000..0eba4038 --- /dev/null +++ b/site/themes/default/templates/home.html @@ -0,0 +1,17 @@ +{% extends "themes/default/templates/partials/base.html" %} + +{% block content %} + + {{ entry.content|shortcode|raw}} + + {% for entry in entries_fetch_all('blog', 'date', 'DESC', 0, 3) %} + +

{{ entry.title }}

+

{{ entry.summary|shortcode|raw}}

+
{{ entry.date }}
+
+ {% endfor %} + + Read the rest of the blog + +{% endblock %} diff --git a/site/themes/default/templates/partials/base.html b/site/themes/default/templates/partials/base.html new file mode 100644 index 00000000..9020f576 --- /dev/null +++ b/site/themes/default/templates/partials/base.html @@ -0,0 +1,67 @@ + + + + {% block head %} + + + + + + + + {{ emmiter_emmit('onThemeMeta') }} + + {% if entry.title %}{{ entry.title|e('html') }} | {% endif %}{{ registry.settings.title|e('html') }} + + + + {% set bootstrap = base_url() ~ '/site/themes/' ~ registry.settings.theme ~ '/assets/dist/css/bootstrap.min.css' %} + {% set default = base_url() ~ '/site/themes/' ~ registry.settings.theme ~ '/assets/dist/css/default.min.css' %} + {% do assets_add('css', bootstrap, 'site', 1) %} + {% do assets_add('css', default, 'site', 2) %} + {% for assets_site in assets_get('css', 'site') %} + {% for assets_by_priorities in assets_site %} + + {% endfor %} + {% endfor %} + {{ emmiter_emmit('onThemeHeader') }} + {% endblock %} + + + +
+
{% block content %}{% endblock %}
+
+ {% block footer %} + Powered by Flextype + {% endblock %} +
+
+ {% set default = base_url() ~ '/site/themes/' ~ registry.settings.theme ~ '/assets/dist/js/default.min.js' %} + {% do assets_add('js', default, 'site', 1) %} + {% for assets_site in assets_get('js', 'site') %} + {% for assets_by_priorities in assets_site %} + + {% endfor %} + {% endfor %} + {{ emmiter_emmit('onThemeTail') }} + + diff --git a/site/themes/default/theme.json b/site/themes/default/theme.json new file mode 100755 index 00000000..6a78bd76 --- /dev/null +++ b/site/themes/default/theme.json @@ -0,0 +1,13 @@ +{ + "name": "Default", + "version": "1.0.0", + "description": "Default theme for Flextype", + "author": { + "name": "Sergey Romanenko", + "email": "hello@romanenko.digital", + "url": "http://romanenko.digital" + }, + "homepage": "https://github.com/flextype/flextype", + "bugs": "https://github.com/flextype/flextype/issues", + "license": "MIT" +} diff --git a/site/themes/default/views/partials/footer.php b/site/themes/default/views/partials/footer.php deleted file mode 100755 index 5dc21ea8..00000000 --- a/site/themes/default/views/partials/footer.php +++ /dev/null @@ -1,8 +0,0 @@ - - display() ?> -
- Powered by Flextype -
- - - diff --git a/site/themes/default/views/partials/head.php b/site/themes/default/views/partials/head.php deleted file mode 100755 index 35a05048..00000000 --- a/site/themes/default/views/partials/head.php +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - <?= Html::toText($entry['title']) ?> | <?= Html::toText(Registry::get('settings.title')) ?> - - - - - - - - - - - - - - - display() ?> -
diff --git a/site/themes/default/views/partials/navigation.php b/site/themes/default/views/partials/navigation.php deleted file mode 100644 index e3205954..00000000 --- a/site/themes/default/views/partials/navigation.php +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/site/themes/default/views/partials/tail.php b/site/themes/default/views/partials/tail.php deleted file mode 100755 index 29ee280b..00000000 --- a/site/themes/default/views/partials/tail.php +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/site/themes/default/views/templates/about.php b/site/themes/default/views/templates/about.php deleted file mode 100644 index f835c8b2..00000000 --- a/site/themes/default/views/templates/about.php +++ /dev/null @@ -1,6 +0,0 @@ - -display() ?> -

- - -display() ?> diff --git a/site/themes/default/views/templates/blog-post.php b/site/themes/default/views/templates/blog-post.php deleted file mode 100644 index 966079c9..00000000 --- a/site/themes/default/views/templates/blog-post.php +++ /dev/null @@ -1,7 +0,0 @@ - -display() ?> -

-
- -
-display() ?> diff --git a/site/themes/default/views/templates/blog.php b/site/themes/default/views/templates/blog.php deleted file mode 100644 index ebda3581..00000000 --- a/site/themes/default/views/templates/blog.php +++ /dev/null @@ -1,11 +0,0 @@ - -display() ?> -

- - -

-

-
-
- -display() ?> diff --git a/site/themes/default/views/templates/default.php b/site/themes/default/views/templates/default.php deleted file mode 100644 index ed9f4328..00000000 --- a/site/themes/default/views/templates/default.php +++ /dev/null @@ -1,4 +0,0 @@ - -display() ?> - -display() ?> diff --git a/site/themes/default/views/templates/home.php b/site/themes/default/views/templates/home.php deleted file mode 100644 index e187a7c7..00000000 --- a/site/themes/default/views/templates/home.php +++ /dev/null @@ -1,12 +0,0 @@ - -display() ?> - - - -

-

-
-
- -Read the rest of the blog -display() ?>