Falang : new release 2.9.7

Update: Falang 2.9.7 released
with new features and improvements
Today we have updated falang product and added some new features and functionalities. Support of new joomla router (paid version only), fix export and more.

Top 3 JavaScript Frameworks For Mobile App Development in 2018

Onsen UI

Onsen UI – The most beautiful and efficient way to develop HTML5 hybrid and mobile web apps.

Experience streamlined development with zero-time setup, with the technologies you already know and love – JavaScript, HTML and CSS. With the complete development stack provided in the cloud, you don’t need to waste any time maintaining the constantly-updating platform SDKs. Onsen UI makes Cordova development real simple.

Ionic Framework

Build apps with web tech you know and love with Ionic Framework

Know how to build websites? Then you already know how to build mobile apps. Ionic Framework offers the best web and native app components for building highly interactive native and progressive web apps.


Full featured HTML framework for building iOS & Android apps

Framework7 – is a free and open source mobile HTML framework to develop hybrid mobile apps or web apps with iOS & Android native look and feel. It is also an indispensable prototyping apps tool to show working app prototype as soon as possible in case you need to. The main approach of the Framework7 is to give you an opportunity to create iOS & Android apps with HTML, CSS and JavaScript easily and clear. Framework7 is full of freedom. It doesn’t limit your imagination or offer ways of any solutions somehow. Framework7 gives you freedom! Framework7 is not compatible with all platforms. It is focused only on iOS and Google Material design to bring the best experience and simplicity. Framework7 is definitely for you if you decide to build iOS or Android hybrid app (PhoneGap) or web app that looks like and feels as great native iOS and Google Material apps.

Notepad++ v7.5.6 enhancements & bug-fixes

Notepad++ v7.5.6 enhancements & bug-fixes:

1. Fix macro playing back crash issue on new added “find previous” and “find next” buttons.
2. Function List enhancement: Highlight the current function based on cursor position.
3. Fix crash on styler dialog of User Defined Language dialog.
4. Fix file status detection issue under Windows XP.
5. Ghost typing enhancement: Unicode, syntax highlighting and speed support.
(check the url for the usage of ghost typing on command line: https://notepad-plus-plus.org/features/ghost-typing.html )
6. Add a message from outer space.

Notepad++ 7.5.5 enhancements & bug-fixes:

1. Restore 2 buttons “<< Find Previous” & “Find Next >>” in Find dialog (optional).
2. Fix monitored (tail -f) file not always updated issue.
3. Keep Doc Switcher’s ordering in sync with Tab bar.
4. Shortcut Mapper enhancements: Add filter capacity and make dialog resizable and maximizable.
5. Fix for “Toggle Single Line Comment” malfunctioning with HTML/XML.
6. Make Unix style path (slashes) work in open file dialog (optional).
7. Fix tab sticks to mouse pointer problem after external update of a opened file.
8. Fix encoding not sync (on status bar) after reloading.
9. Fix menu items’ state is not maintained due to save macro command.
10. Fix line ending changes are not detected in reloaded changed files issue.
11. Fix highlighting of <script> tags in XML files issue.
12. Fix Unicode file name comparison to match Windows behaviour (as opposed to doing a linguistic filename comparison).

Included plugins:

1. NppExport v0.2.8 (32-bit x86 only)
2. Converter 4.2.1
3. Mime Tool 2.1
4. DSpellCheck 1.3.5

Updater (Installer only):

* WinGup v4.2

Async Expressive? Try Swoole!

When we were finalizing features for Expressive 3,
we had a number of users testing using asynchronous PHP web servers. As a
result, we made a number of changes in the last few iterations to ensure that
Expressive will work well under these paradigms.

Specifically, we made changes to how response prototypes are injected into

Response prototypes?

What’s the problem?

In an async system, one advantage is that you can bootstrap the application
once, and then respond to requests until the server is shutdown.

However, this can become problematic with services that compose a response
prototype in order to produce a response (e.g., authentication middleware that
may need to produce an "unauthenticated" response; middleware that will produce
a "not found" response; middleware that will produce a "method not allowed"
response; etc.). We have standardized on providing response prototypes via
dependency injection, using a service named after the interface they implement:

If a particular service accepts a response instance that’s injected during
initial service creation, that same instance will be used for any subsequent
requests that require it. And that’s where the issue comes in.

When running PHP under traditional conditions — php-fpm, the Apache SAPI,
etc. — all requests are isolated; the environment is both created and torn
down for each and every request. As such, passing an instance is perfectly safe;
there’s very little chance, if any, that any other service will be working with
the same instance.

With an async server, however, the same instance will be used on each and every
request. Generally, manipulations of PSR-7
message instances will create new instances, as the interfaces they implement
are specified as immutable. Unfortunately, due to technical limitations of the
PHP language, we were unable to make the body of response messages
immutable. This means that if one process writes to that body, then a
subsequent process — or even those executing in parallel! — will
receive the same changes. This can lead to, in the best case scenario,
duplicated content, and, in the worst, provide incorrect content or perform
information leaking!

To combat these situations, we modified the PsrHttpMessageResponseInterface
service we register with the dependency injection container: it now returns not
an instance of the interface, but a factory capable of producing an instance.
Services should compose this factory, and then call on it each time they need to
produce a response. This fixes the async problem, as it ensures a new instance
is used each time, instead of the same instance.

(Additionally, this change helps us prepare for the upcoming PSR-17, which
describes factories for PSR-7 artifacts; this solution will be compatible with
that specification once complete.)

Why async?

If asynchronous systems operate so differently, why bother?

There’s many reasons, but the one that generally gets the attention of
developers is performance.

We performed benchmarks of Expressive 2 and Expressive 3 under both Apache and
nginx, and found version 3 received around a 10% improvement.

We then tested using Swoole. Swoole is a PHP
extension that provides built-in async, multi-threaded input/output (I/O)
modules; it’s essentially the I/O aspects of node.js — which allow you to
create network servers and perform database and filesystem operations —
but for PHP.

A contributor, Westin Shafer, has written a module
for Expressive 3 that provides an application wrapper for Swoole

that is exposed via a CLI command. We ran our same benchmarks against this, and
the results were astonishing: applications ran consistently 4 times faster
under this asynchronous framework, and used fewer resources!

While performance is a great reason to explore async, there are other reasons as
well. For instance, if you do not need the return value of an I/O call (e.g., a
database transaction or cache operation), you can fire it off asynchronously,
and finish out the response without waiting for it. This can lead to reduced
waiting times for clients, further improving your performance.

We have had fun testing Swoole, and think it has tremendous possibilities when
it comes to creating microservices in PHP. The combination of Expressive and
Swoole is remarkably simple to setup and run, making it a killer combination!

Notes on setting up Swoole

The wshafer/swoole-expressive package requires a version 2 release of the
Swoole extension.

However, there’s a slight bug in the PECL installer whereby it picks up the
most recent release as the "latest", even if a version with greater stability
exists. As of the time of writing, version 1.10.2 of Swoole was released after
version 2.1.1, causing it to be installed instead of the more 2.X version.

You can force installation of a version by appending the version you want when
invoking the pecl command:

$ pecl install swoole-2.1.1

The version must be fully qualified for it to install correctly; no partials
(such as swoole-2 or swoole-2.1 will work.

Source: Zend feed

Joomla 3.8.6 Security & Bug Fixes release!

The Joomla project team has released version 3.8.6, a security and bug fixes release.

This is an important maintenance release for Joomla 3.8.5 regression bugs and a recommended upgrade for all Joomla 3.x series sites. As always, before any Joomla upgrade on your live website, take a backup just in case anything goes wrong.

The security fix addresses a low level SQLi vulnerability in User Notes and the bug fixes address various Joomla 3.8.5 regressions (session management and cookies improvements), PHP 7.2 compatibility issues and other bugs.

CB Paid Subscriptions 4.2 released!

CB Paid Subscriptions (CBSubs) 4.2 is here with 25 new features and 52 bug fixes!

CB Paid Subscriptions (CBSubs GPL) 4.2 is mainly a features and maintenance release that requires Community Builder 2.1.4.

Of the 25 new features, we would like to focus on the following:

  • Many Improvements in admin area with better search and batch actions
  • Minor improvements in front-end area with better subscription workflow
  • New payment gateway for Stripe with autorecuring payments and SEPA support
  • Improvements in PayPal Pro with new Payflow API and Paypal Advanced with support for new partners
  • Quickpay payment gateway for new API
  • Support for PHP 7.1 and 7.2

Expressive 3!

Yesterday, we tagged and released Expressive 3!

Expressive 3 provides a middleware microframework.

Create a new Expressive application using Composer:

$ composer create-project zendframework/zend-expressive-skeleton

The installer will prompt you for your choice of:

  • Initial application architecture (minimal, flat, modular)
  • Which dependency injection container you would like to use.
  • Which routing library you would like to use.
  • Which templating library you would like to use, if any.
  • Which error handling library you would like to use, if any.

From there, it creates a new project for you, and allows you to get started
developing immediately.

You can read more in our quick start,
and may want to check out our command line tooling
to see what we provide to make development even faster for you!

What are the features?

Expressive 3 embraces modern PHP, and requires PHP 7.1 or higher. Strong
type-hinting, including return type hints, make both our job and your job
easier and more predictable. The ability to use all modern PHP features helps us
deliver a solid base for your application.

Expressive 3 provides full support for the PSR-15 (Middleware and Request
Handlers) standard
. We believe strongly
in supporting standards, to the extent that this release also drops direct
support for the "double-pass" middleware style

we have supported since version 1.0

Expressive 3 massively refactors its internals as well. In fact, the majority of
the code in the zend-expressive package was removed, moved to other existing
packages where it had a better semantic affiliation1,
or extracted to new packages2. This base
package now mainly handles coordinating collaborators and providing a
user-friendly interface to creating your application pipeline and routes.3

Expressive 3 provides more command line tooling and tooling improvements in
order to make developing your application easier. We added a command for
creating factories for existing classes (factory:create).4
The middleware:create command now creates a factory for the
middleware generated. We added support for creating request handlers5,
complete with factory generation and registration, as well as template support.6

Finally, we recognize that Expressive has changed massively between versions 1
and 3, while simultaneously keeping its primary API stable and unchanged.
However, to help users find the information they need for the version they run,
we have rolled out versioned documentation, with each version providing only
information specific to its release cycle:

The most recent version will always be present in the primary navigation, with
links to other versions present as well.

New components!

We have several new components that provide features for Expressive — or
any PSR-15 framework you may be using! These include:

We have a number of other packages in the works around authentication,
authorization, and data validation that we will be releasing in the coming weeks
and months; stay tuned for announcements!

What about upgrading?

We have prepared a migration document
that covers new features, removed features, and a list of all changes.

Additionally, we have provided migration tooling
to aid you in your migration from version 2 to version 3. The tool will not
necessarily give you a fully running application
, but it will take care of
the majority of the changes necessary to bump your application to version 3,
including setting up appropriate dependencies, and updating your bootstrapping
files to conform to the new skeleton application structure.

If you need assistance, you can find community help:

What’s next?

We have been working on a number of API-related modules for Expressive (and any
PSR-15 applications) since last summer, with a number of components already
completed, and others close to completion. We plan to finalize these in the next
few months.

Thank You!

We extend a hearty thank you to everyone who tested the various pre-releases and
provided feedback. Additionally, we are singling out the following individuals
who provided significant contributions to the Expressive 3 project:

  • Enrico Zimuel provided a ton of feedback and
    critique during the design phase, and was a driving force behind many of the
    API usability decisions.

  • Rob Allen did a workshop at SunshinePHP, right as we
    dropped our initial alpha releases, and provided feedback and testing for much
    of our tooling additions.

  • Frank Brückner provided ongoing feedback
    and review of pull requests, primarily around documentation; he is also
    responsible for a forthcoming rewrite of our documentation theme to make it
    more responsive and mobile-friendly.

  • Daniel Gimenes provided feedback and ideas as
    we refactored zend-stratigility; he is the one behind package-level utility
    functions such as ZendStratigilitydoublePassMiddleware(),
    ZendStratigilitypath(), and more.

  • Witold Wasiczko provided the majority of the
    rewrite of zend-stratigility for version 3. He can be celebrated for removing
    over half the code from that repository!

In addition to these people, I want to extend a personal thank you to the
following people:

  • Geert Eltink has helped maintain Expressive v2, and
    particularly the various routers and template engines, making them ready for
    v3 and testing continually. As a maintainer, I was able to rely on him to take
    care of merges as we finalized the releases, and was pleasantly surprised to
    wake up to new releases several times when he fixed critical issues in our
    alpha and RC releases.

  • Michał Bundyra provided a constant stream of
    pull requests related to quality assurance (including ongoing work on our phpcs
    extension!), as well as critical review of incoming patches. He spearheaded
    important work in the refactoring process, including changes to how we handle
    response prototypes, and critical fixes in our routers to address issues with
    how we detect allowed methods for path route matches. We synced each and every
    single day, often arguing, but always coming to consensus and plowing on.

If you get a chance, reach out to these contributors and thank them for the


  • 0: The Expressive ecosystem makes
    use of many other standards as well, including
    PSR-7 HTTP Messages,
    PSR-11 Container, and
    PSR-13 HTTP Links.

  • 1: As an example, the routing,
    dispatch, and "implicit methods" middleware were all moved to the
    package, as they each work with the router and route results.

  • 2: Request generation, application
    dispatch, and response emission were all moved to a new package,

  • 3: These refactors led to a net
    removal of code across the board, vastly simplifying the internals. This
    will lead to ease of maintenance, greater stability, and, based on benchmarks
    we’ve been performing, 10% better performance and less system resource usage.

  • 4: factory:create uses PHP’s
    Reflection API in order to determine what dependencies are in place in order to
    generate a factory class; it also registers the class and factory with the

  • 5: In previous Expressive versions,
    we referred to "actions", which were any middleware that returned a response
    instead of delegating to another layer of the application. PSR-15 calls such
    classes request handlers. Our tooling provides an action:create command,
    however, for those who prefer the "action" verbiage.

  • 6: The command creates a template
    named after the handler created; it uses the root namespace of the class to
    determine where to put it in the filesystem. Additionally, it alters the
    generated request handler to render the template into a zend-diactoros

Source: Zend feed

Expressive 3.0.0RC2 released

This week, we’ve worked on backports from Expressive 3 to Expressive 2, and, in
the process, identified a few issues with how the routing package handles
implicit HEAD and OPTIONS requests. As a result, we’ve just released

  • https://github.com/zendframework/zend-expressive-skeleton/releases/3.0.0rc2

What are "implicit" HEAD and OPTIONS requests?

Implicit HEAD and OPTIONS requests are requests using those methods made to
routes that do not explicitly define them; in other words, if no routes for a
given path include the HEAD or OPTIONS methods.

We provide a way for router implementations to flag a routing failure as being
due to requesting a method that is not explicitly allowed. We also provide
middleware for providing responses to HEAD and OPTIONS requests under those
conditions, as well as separate middleware for simply reporting that a method is
not allowed.

Getting started with RC2

To start a new project based on 3.0.0rc2, use
Composer to create a new project:

$ composer create-project "zendframework/zend-expressive-skeleton:3.0.0rc2"

If you want to install to a custom directory name, use the following instead:

$ composer create-project zendframework/zend-expressive-skeleton {your directory} 3.0.0rc2

Once installed, you can follow the same instructions as for RC1.

Updating from RC1

Updating from RC1 requires a few manual steps.

Prior to upgrading, you will need to do the following:

$ composer require "zendframework/zend-diactoros:^1.7.1"

Then run:

$ composer update

Once done, you will need to make one change to your config/pipeline.php.

Locate the following line:


Cut the line, and paste it following the line reading:


This change is necessary due to how each of these middleware inspect the routing
result and act on it. If MethodNotAllowedMiddleware operates before the
Implicit*Middleware, it will detect a 405 condition. Moving it after those
middleware allow them to intercept for HEAD and OPTIONS requests.


We still have a number of tasks to accomplish before the stable 3.0.0 release.
In particular:

  • We need to provide full documentation for the v3 release.

  • We will be issuing a 2.2 release with:

    • Deprecations, based on the v3 changes.
    • Backports of select v3 changes in order to aid migration.
    • See the following for full details: https://discourse.zendframework.com/t/roadmap-expressive-2-2/504
  • We need to document migration from v2.2 to v3, and potentially provide
    automated tooling.

  • We anticipate users may still find bugs in the RC, and will be actively
    incorporating bugfixes before the stable release.

Our target date is still 15 March 2018, but we need your help! Help by testing
the RC2 skeleton and providing your feedback. As we prepare the v2.2 release,
help by testing tooling and applying our migration documentation to your
applications, and let us know what works and what doesn’t. If you find features
that are not documented, let us know by filing issues or asking questions in
our Slack.

We look forward to the stable release, and the positive impact PSR-15 will have
on the PHP ecosystem!

Source: Zend feed

Discover the innovations of the 1.7.3 version!

PrestaShop is proud to release the newest version of our software, PrestaShop 1.7.3. This important version includes a big number of new features and fixes.

Here’s what you can expect:

PrestaTrust: This innovative feature authenticates the code of PrestaTrust-enabled modules and safely keeps track of license information in the blockchain.
Right-To-Left support: PrestaShop is now friendly with languages written from right-to-left (RTL). This is extremely important for selling in countries who speak in RTL languages like Arabic, Hebrew or Persian.
A new set of Demo products, which will give PrestaShop a fresh and modern face
UI Kit: A new graphic identity for the core… and modules! The UI kit brings a coherent set of reusable components that work the same across the back office, as well as Bootstrap 4 and jQuery 3.
Symfony migration: Three new pages have been migrated to symfony, bringing new components and exciting features for module developers!

…and many smaller features and handy fixes like:

Set shipping delivery times and be compliant with European law.
Make PrestaShop send you alerts when a product is low on stock.
Perform bulk editions in stocks.
Icelandic localization and Installer in Japanese

Download PrestaShop 1.7.3 now →