Skip to content

RealBotics/nodejs-joomla

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Joomla module for Node.js

This module assumes you have an existing Joomla installation and wish to connect to it. The constructor takes either a path to the root of the Joomla installation, or a JavaScript object literal with the configuration details. When the module connects to the database, it executes the callback function you pass in.

Installation

Using npm:

npm install joomla

You can also clone this repository into your node_modules directory.

Examples

Path style

var joomla = require('joomla');

joomla('/path/to/joomla/site');

Object literal style

var joomla = require('joomla');

joomla({
	db: 'test_joomla_node',
	user: 'root',
	host: 'localhost',
	password: ''
});

Authorization

Once connected to the site, you can authenticate against the Joomla database using the request cookies. Here's an example using Connect, assuming a pre-connected joomla object:

var connect = require('connect');

connect.createServer(connect.cookieParser(), function (req, res, next) {

  joomla.auth_cookies(req.cookies, function  (result) {
    res.writeHead(200, {'Content-Type': 'text/plain'});

    if (result !== undefined) {
      res.end(result.username + ' ' + result.userid);
    } else {
      res.end('no session');
    }
  });

}).listen(8080, "localhost");

Queries

You can also use the db.query function to make queries against the database:

joomla.db.query('SELECT * FROM #__users', function  (results) {
res.writeHead(200, {'Content-Type': 'text/plain'});

for (var i=0; i < results.length; i++) {
  var row = results[i];

  res.end(row.username + "\n");
}

});

The #__ prefix is automatically converted to the prefix set in your Joomla configuration.

About

A Node.js module that connects to Joomla

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published