New simple responsive themes: xSimpleGrid & xSimpleGrid2

Hi guys !
Here you are my first XOOPS theme

Resized Image

Name: xsimplegrid
Demo: xsimplegrid demo
Download: download xsimplegrid

NEW: xSimpleGrid2:

Resized Image


Happy holidays
Read more... | 8 comments

Contact form LIAISE

Hello everyone,

Some may remember the LIAISE module that allowed to generate contact forms.
I have always used this module and I modified this one for needs of my clients.

To know :
- Keep track of emails received in administration for each form
- Insert a release form element to delimit the thematic issues
... And other little things you can find in the changelog visible from your XOOPS administration of course.

The module is compatible with XOOPS 2.5.x and admin has been restyled for the Framework "Module Classes" 1.1 and I share it with you now

You can find my development on my deposit XOOPS modules



PS : Huge congratulations to the latest XOOPS 2.6.0 developments!
Read more... | 4 comments

To-Do Notebook module for XOOPS 2.6.0

Cointin Maxime (Kraven30) has developed couple of years ago for XOOPS 2.6.0 a small module for recording your To-Do List called "Notebook"

Resized Image

It is a very simple module to record your To-Do items and track their completion.

Since XOOPS 2.6.0 went through several changes, I have updated this module, similar to the 6 modules developed by Dugris

Download: from our repository on GitHub

Please fork it, test it, improve it, and contribute back to XOOPS

I'll write a tutorial for the usage of this extension hopefully next month, but it's really simple to use, so I am not even sure if a tutorial is needed

Extension Rating updated for the latest XOOPS 2.6.0

Cointin Maxime (Kraven30) has developed couple of years ago for XOOPS 2.6.0 an Extension called "Rating"

Resized Image

This extension allows you to easily add a voting system to the inside of your modules. You can add as many modules as you want. For example, to rate a hotel, restaurant service, quality of food, price, etc..

It can be used by any XOOPS 2.6.0 module, it works the same way as the module Tag. It uses the jQuery plugin 'jRating'.

Since XOOPS 2.6.0 went through several changes, I have updated this extension, similar to the 6 modules developed by Dugris

Download: our repository on GitHub

Please fork it, test it, improve it, and contribute back to XOOPS

I'll write a tutorial for the usage of this extension hopefully next month.

Squad and Bikin themes converted to XOOPS

I've converted two one-page Bootstrap themes to XOOPS: Squad and Bikin from

Resized Image

Resized Image

It was more or less an experiment, so I am releasing them as "Alpha", and feel free to fork and improve them.

You can use the existing parts of the "one-page" theme, and you can add links to XOOPS modules in the Top Menu.

We definitely need to look for ways to simplify such conversions to XOOPS, since there are many very cool themes around!

- Bikin
- Squad

NOTE: these themes are free, but the authors require to keep their Copyright notice in the footer, unless you pay a fee. Please respect that!

NOTE 2: You will need to add in the function "eventCoreHeaderAddmeta" in \modules\system\preloads\core.php this code below:

if (defined("XOOPS_STARTPAGE_REDIRECTED") || (isset($GLOBALS['xoopsOption']['template_main']) && $GLOBALS['xoopsOption']['template_main'] === 'db:system_homepage.html')) {
            if (
is_object($GLOBALS['xoopsTpl'])) {

so the whole function looks then like this:

public function eventCoreHeaderAddmeta($args)
        if (
defined("XOOPS_STARTPAGE_REDIRECTED") || (isset($GLOBALS['xoopsOption']['template_main']) && $GLOBALS['xoopsOption']['template_main'] === 'db:system_homepage.tpl')) {
            if (
is_object($GLOBALS['xoopsTpl'])) {

        if (!empty(
$_SESSION['redirect_message'])) {
$GLOBALS['xoTheme']->addScript('', array('type' => 'text/javascript'), '
$_SESSION['redirect_message'] . '", {  life:3000 , position: "center", speed: "slow" });

Read more... | 7 comments

eEmbed now included in XOOPS 2.6.0

Including and presenting Media has just become so much easier in the next version of XOOPS!

Richard just added the "oEmbed" capability to XOOPS 2.6.0

So what is oEmbed?

oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly, in other words, it allows embedding content from a website into another page.

An oEmbed exchange occurs between a consumer and a provider. A consumer wishes to show an embedded representation of a third-party resource on their own website, such as a photo or an embedded video. A provider implements the oEmbed API to allow consumers to fetch that representation.

In XOOPS, similar to 'Clickable' filter, Embed will process a URL alone on a line using the embed/embed package. For URLs supporting oEmbed, such as YouTube, the oembed result will be shown. For other URLs, a default media box, built from the page content, will be displayed. See example below of the code, and then representation provided thanks to oEmbed:

Resized Image

How cool is that?

You can test this version by forking or downloading it from our GitHub account

Shortcodes are coming to XOOPS 2.6.0 :D

Richard continues to doing amazing changes to XOOPS 2.6.0. The latest addition are "Shortcodes", which are probably best known from WordPress. I was actually hoping for it for a long, long time, and I was very happy to see that Richard has added it to XOOPS! YES!!!

It was possible thanks to refactoring of our old TextSanitizer. You can read more details from Richard's info on GitHub

MyTextSanitizer has become Xoops\Core\Text\Sanitizer.


- Single unified configuration file


- Extensions (i.e. YouTube) are now a SanitizerComponent, a base class that also includes Filters (i.e. Xss)

- Each SanitizerComponent auto-configures, and configuration is automatically updated with new additions

- Custom components can be added via response to core.sanitizer.configuration.defaults event

- ShortCodes (WordPress style) are now the basis of XoopsCode and extensions

- Custom ShortCodes can be added via response to

event, or by directly accessing the ShortCodes engine with


- All built-in components and shortcodes can be overridden with same named custom replacements

- Some extensions have updated syntax. For example:


can now be:

[youtube url="JxS5E-kZc2s" width="640" height="385" /]

(It also can use virtually any known YouTube URL as the url attribute.)

- Another example is SoundCloud, which now can directly support the "Wordpress code" option offered in the Share/Embed dialog on

The old styles are still accepted for compatibility with existing content, and not all extensions have conversions to new styles, yet. There is more work to be done, but the backing code is now in place.

What does it mean for XOOPS developers? We'll be able now to simplify a lot of activities around designing the best looking Websites for our users and customers!
Also our users will be able to add tons of cool features without any programming!

For those of you who never worked with ShortCodes, let's provide a short overview and a little tutorial. The basic classes that we'll be using, are the TextSanitizer classes refactored by Richard:

Resized Image

Currently we have following classes derived from FilterAbstract :

- Censor
- Clickable
- Quote
- SyntaxHighlight
- TextFilter
- Xss

and following classes derived from ExtensionAbstract:

- Flash
- Iframe
- Image
- Mms
- Mp3
- Rtsp
- SoundCloud
- UnorderedList
- Wiki
- Wmp
- XoopsCode
- YouTube

For our purposes we'll be using mainly the ExtensionAbstract class. Let's see now how can we use it to create ShortCodes for Google Charts and Google Maps (Read more-->)
Read more... | 24277 bytes more | 6 comments

Translation Project for final Packaging of Signed 2.2.x Final Release

Resized Image
Signed 2.2RC Module - Translation Project

This module is to be translated in the supporting groups for final candidate packaging for the XOOPS SVN, once you have done the translation the translated signature files as well as the language files have to be package and sent to with any comments or changes that needed to happen outside any core language folded file-base.

You can connect to the Author of the module with Skype on the account: antony.cipher – this is if you have any question or comments for the module! But please read the PDF before you do contact incase it answers any questions

Please notify either by email and wait for confirmation as a translator, as you will eventually once final packaging being done noted in the code stamp as one of the authors; which you can also do in the resource files.

Module Download: ~~~::[ *.7z ! *.rar ! *.tar.gz ! *.tar.bz2 ! *.zip ! *.tar ! *.bz2 ! *.rar5 ! *.jar ]::~~~


Folder's for Translation
+ modules / signed / language / english (translate folder)
+ xoops_lib / modules / signed / processes / english (translate folder)
Read more... | 1 comment

XOOPS 2.6.0 Goes PSR-4 plus Other Core Enhancements

1) Richard is powering forward with some very cool enhancements for the Core of XOOPS 2.6.0. Recently he committed these enhancements: Quote:
First stage of localization refresh #261, and other misc cleanup - Implements localized date and time handling. PHP DateTime objects used extensively in all date processing. Localization is provided by [Punic]( - Add `Request::getDateTime()` Returns a `\DateTime` object from `Form\DateSelect` and `Form\DateTime` input. The form classes can also receive DateTime objects as values. Form dates are now local to the user, or system default if no user. - Timezones are now PHP `DateTimeZone` names, not float offsets. PHP DateTime and DateTimeZone objects are used to implement all calculations. This makes handling of things like daylight savings or summer time automatic. - Add `Dtype::TYPE_TIMEZONE` to store and restore \DateTimeZone objects - Add Smarty `datetime` modifier, allowing both unix timestamps and DateTime objects to be processed by XoopsLocale::formatTimestamp(), allowing date and time formatting to be controlled in the presentation layer with tags like `<{$datevariable|datetime:'short'}>` - XoopsList class broken into individual classes in `Core\Lists`. These class are expected to implement `Core\Lists\AbstractList`. These can interact directly with form fields, reducing code complexity and duplication. - Add select_editor 'formtype' for $modversion['config']. This removes the need for active code to load editors in a module's xoops_version.php. All editor lists now originate from one point, Core\Lists\Editor - New subclass of Form\Element, OptionsElement which provides the standard option methods. List classes can interact with any extender of OptionsElement, see Core\Lists\AbstractList::setOptionsArray() - `Xoops_*` classes moved to actual `Xoops` namespace. These *PSR-0*, pseudo namespaces are obsolete. Their removal allows us to move to PSR-4 based loading for the Xoops namespace. - CountryFlag service no longer delivers bare URL to resource, only HTML to display flag. This allows more flexibility on how the flag is presented. - Accept `Trowable` in `Core\Logger::handleExeception()` (PHP7)
He also posted a RFC (Request for Comments) on three issues: - Namespaces - Moduels vs. Extensions - Add a modinfo column to system_module Quote:
I've given a lot of consideration to modules, and have a few ideas I want to present. If you have comments, alternatives, objections or other feedback, please respond. Baring objections, I would like to move on this quickly. Namespaces Add a namespace column to system_module table. This would be the PHP namespace for the module's code. It would map to the module's class directory in PSR-4 fashion. This would be implemented automatically for all active modules with a namespace specified. Note, this will be separate from the composer maintained loader, since composer has no way of knowing if a module is "active" in XOOPS. Autoloading components from modules which are not installed or inactive could create lots of issues. With the namespace enabled, most of the old directory positional naming constructs can be replaced with objects. For example, instead of using the $modversion['onInstall'] entry to locate a file to include, then building function names based on the module name, the code would look more like this:
if (class_exists($moduleNamespace 'SystemInstall')) {
$install = new $moduleNamespace 'SystemInstall;
    $success = $install->postInstall($module);
Our current preloads directory, with possibly multiple files, would disappear, and everything would reside in the$moduleNamespace . 'System\Events' class instead. In this scheme, the class/System directory would be reserved for the system specified classes. Each would have a specific interface defined. There are more details, but this should illustrate the concept. Modules vs. Extensions Based on some thoughts from @bitcero and some more consideration, I propose eliminating the extension concept as is, and moving to a module category system to make management cleaner. Categories would be something like this: Category: Usage ------------------------- Content: articles, blogs, calendars, forums, etc. Developer: module builders, schema tools Extension: service providers, system enhancement Locale: i18n resources, language packs Theme: for the new module based themes This is not carved in stone, but the idea is to create a limited, high level taxonomy to categorize modules. The defined categories would be enforced, as we don't need a free for all. The module listing functions would be adapted to deliver lists of individual categories. A category column on the system_module table would hold this item. To support subtle differences, each category would be backed by a sub class of the system module class, but all would offer the same functionalities. Add a modinfo column to system_module Caching of the $modversion array has been suggested many times. Adding a single column set on install and update can accomplish this, and the existing getInfo() and related methods will be able to use the column data as the source, eliminating the need to hit the filesystem. With this information in the database, all the module object access can be fully cached, which should speed thing up a bit.
Please respond directly on GitHub Resized Image
It is also worth to mention that Eduardo is making some major progress on creating a new "Presentation Layer" in XOOPS 2.6.0 based on his excellent "Common Utilities" Slowly but surely, the pieces of the puzzle called XOOPS 2.6.0 are starting to fall in place!
Read more... | 1 comment

6 Modules for XOOPS 2.6.0 added to GitHub (Alpha version)

Laurent JEN (aka DuGris) has developed couple of years ago six very nice modules for XOOPS 2.6.0

Resized Image

I've started updating them to reflect the changes done to XOOPS 2.6.0 Core since then, and they are now on GitHub in the XOOPS 2.6.0+ Modules section.

Clearly, the update is still work in progress and some of the modules don't work yet properly due to the changes in Core, but hopefully soon they will become more stable. Of course, as always, you can fork them and help us with the development!

Demo DuGris' Demo Website:

Download/Fork: XOOPS 2.6.0+ Modules on GitHub:







XOOPS 2.6.0

Please note that the next version of XOOPS is being actively developed on GitHub, and you're encouraged to fork it, test it, and contribute back!
Read more... | 9 comments
« 1 ... 3 4 5 (6) 7 8 9 ... 553 »


Who's Online

1182 user(s) are online (9 user(s) are browsing XOOPS News)

Members: 0

Guests: 1182



Goal: $100.00
Due Date: Jul 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits


News archives