Top 10 PHP CMS Platforms : Content management system WordPress Joomla Drupal PHPWiki SilverStripe Cake PHP Modx Concrete5 PHP Fusion CMS Mad
seen from Yemen

seen from Malaysia

seen from Malaysia

seen from United States

seen from United States
seen from China

seen from Jordan

seen from United Kingdom

seen from Yemen

seen from Spain
seen from United States

seen from United Kingdom
seen from United States
seen from Germany

seen from Mexico

seen from Malaysia
seen from China
seen from United States
seen from China
seen from Russia
Top 10 PHP CMS Platforms : Content management system WordPress Joomla Drupal PHPWiki SilverStripe Cake PHP Modx Concrete5 PHP Fusion CMS Mad
TechGliding is a technology blog where you read interesting articles on various tech-related topics. We want you to look at the Tech From the Top!
Among this wide range of options, we are going to discuss some of the best CMS frameworks in this blog that are available.
Elefant 2.2.5 released
Elefant 2.2.5 has been released with a number of improvements and one bug fix.
Click here to download or update.
New environment variables
You can now set your site name, domain name, transactional email address, a default password for automating new installs (used by the ./elefant install command), and your job queue's Beanstalkd connection info from environment variables. In all, these are the new variables introduced in 2.2.5:
ELEFANT_SITE_NAME
ELEFANT_DOMAIN
ELEFANT_EMAIL_FROM
ELEFANT_DEFAULT_PASS
JOBQUEUE_BACKEND
JOBQUEUE_HOST
JOBQUEUE_PORT
This release also introduces Envconf, which makes it easy to integrate custom environment variables into your custom Elefant apps. Envconf is a wrapper around Appconf that first checks for a matching environment variable based on the app, section, and setting names, for example:
Envconf::myapp ('S3', 'access_token');
Will map to the following environment variable:
MYAPP_S3_ACCESS_TOKEN
Click here for more information on using environment variables with Elefant.
Other improvements
Added Model::prefetch_field($id_list, $fieldname) to reduce database calls on repeat uses of Model::field()
Added exception handling to Redis cache connection failures
Added example setup of custom styles for blocks, introduced in 2.2.3, in the default theme under layouts/minimal/blocks.css
Bug fix
Fixed forms not submitting when skip_if_empty is specified but the field isn't found in the HTML of the form
Click here for a full list of changes.
Top 10 PHP CMS (Content Management System) CMS: Content management system WordPress Joomla Drupal PHPWiki SilverStripe Cake PHP Modx Concrete5 PHP Fusion CMS Made Simple
Top 10 PHP CMS (Content Management System) CMS: Content management system WordPress Joomla Drupal PHPWiki SilverStripe Cake PHP Modx Concrete5 PHP Fusion CMS Made Simple
Elefant 2.2.4
Elefant 2.2.4 has been released with a number of bug fixes and improvements.
Click here to download or update.
Introducing JobQueue
This update adds a new JobQueue class which is powered by Pheanstalk/Beanstalkd. This makes it very easy to setup background workers and send tasks to them for processing.
Setup
To set it up, install Beanstalkd via your package manager of choice (apt/yum/brew/port), for example:
$ apt install beanstalkd
Next, after upgrading Elefant to 2.2.4, run Composer update from the root directory of your website to install the Pheanstalk library:
$ cd /path/to/www && composer update
Lastly, edit the [JobQueue] settings in your conf/config.php file to point to your Beanstalkd server:
[JobQueue] backend = beanstalkd host = 127.0.0.1 port = 11300
Usage
Sending a job to be done by a background worker is as easy as:
JobQueue::enqueue ('tube-name', ['data' => '...']);
Writing a worker in Elefant looks like this:
<?php // apps/myapp/handlers/worker.php if (! $this->cli) exit; $page->layout = false; $worker = JobQueue::worker (); $worker->watch ('tube-name'); while ($job = $worker->reserve ()) { $data = json_decode ($job->getData ()); // Process job with $data $worker->delete ($job); }
The above worker can be run via php index.php myapp/worker and can be initialized using your system scheduler, such as systemd.
Note that workers can be written in any language that connects to Beanstalkd and listens for jobs to process.
Other improvements
Added User::require_verification() which extends User::require_login() to require email verification too
Added Auto-include Composer autoloader to Site Settings form so you no longer need to include it manually in a bootstrap.php file
Click here for a full list of changes.
Elefant 2.2.3
Elefant 2.2.3 has been released with a number of bug fixes and improvements.
Click here to download or update.
Simpler request data validation for REST endpoints
The Restful class has a new get_params() method that makes it easier to parse and validate request data parameters while also improving the conciseness and readability of your code.
Previously, you might write code like this in order to parse and validate request data:
$data = $this->get_put_data (true); if (! isset ($data->id)) { return $this->error ('Missing parameters: id', 400); } if (! isset ($data->name)) { return $this->error ('Missing parameters: name', 400); } // etc.
Now you can write this to do the same thing:
$data = $this->get_params (['id', 'name']); if (! $data) return; // Validation failed
If $data is false, Restful will automatically send an appropriate error response, so you can simply return without having to write any additional error handling logic.
When you pass it an ordinary array, get_params() considers all fields specified to be required, and omits all others. Note that you can still get the full, unvalidated list like this:
$data = $this->get_params ();
However, you can do much more with get_params(), including using booleans to specify required versus optional fields:
$data = $this->get_params ([ 'id' => true, // required 'name' => false // optional ]);
And you can take it one step further by specifying an array of input validations that will be sent to the Validator class like this:
$data = $this->get_params ([ 'id' => true, 'name' => false, 'email' => [ 'email' => true ], 'age' => [ 'skip_if_empty' => true, 'type' => 'numeric', 'range' => '1-150' ] ]);
This also makes it easier to see the expected parameters and their validation rules all in one place at the top of your endpoint methods, using the same validation rules that forms and models also use.
Custom CSS class selector for content blocks
The blocks editor now provides a way to select and set custom CSS classes on individual blocks via a dropdown menu.
The editor looks for a layouts/your-theme/blocks.css file in your layouts and reads that for custom CSS classes. If not found, it reads all layouts/your-theme/*.css files and parses them for custom CSS classes.
It looks for any CSS class of the form .block-outer.custom-class-name, for example:
.block-outer.dark-background { background-color: #222; color: #eee; }
It then turns all unique classes found into selectable options in a dropdown list (the above would appear as "Dark Background") so you can offer your site editors more customization options without sacrificing control over the look and feel of your sites.
This is especially powerful coupled with other recent improvements to the blocks/group helper.
Other bug fixes and improvements
All Elefant-related cookies are now marked with SameSite=Lax
Changed $cache->delete() to use unlink() for asynchronous deletions on newer versions of phpredis
Improved the display and usability of tables in the wysiwyg editor
Fixed a MySQL error at a text field with default value
Fixed custom site styles affecting the Elefant toolbar heading colours and embedded button styles
Click here for the full list of changes.
Today we have so many option for PHP CMS in the market. The choice depends on our requirements and security of platform. So, We are listing the top 6 most secure PHP CMS you can use for your website with top features of content management system.
Today we have so many option for PHP CMS in the market. The choice depends on our requirements and security of platform. So, We are listing the top 6 most secure PHP CMS you can use for your website with top features of content management system.
Elefant CMS is part of the GitHub Discussions beta
After several failed attempts at upgrading Vanilla Forums, we now have a new home for the Elefant CMS community forum - GitHub Discussions!
Click here to visit the new Elefant CMS community forum.
Elefant has been receiving some nice updates recently, including turning the blocks/group helper into a Swiss army knife for page layouts, a new Wires app for simplifying SPAs, PHP 7.4 opcache.preload support, Open Graph and SEO improvements, and a much improved page/blog post editing experience.
However, without a working forum community activity has suffered. Hopefully this is the first step in turning that around.
So take a minute and head over to the new Elefant CMS Discussions and say hello!