Author Name: Arshdeep Mand
Author Email: arshmand@gmail.com
License: GNU/GPL
Disclaimer: This component is provided as-is and was developed as a quick fix
for globally administering multiple joomla sites. I do not take responsility
of any loss of data that may occur. Always make sure to backup your files and databases.

Download Link: www.ocf.berkeley.edu/cqk/joomla_multiple.zip


Intro:
This component allows you to administer totally separate multiple joomla installations from one joomla site. Any users added to your joomla site will be automatically added to all your other sites. Any changes made to users or deletion of users on your site will be reflected across all your other sites. Please note that this component was developed quickly to take care of my problem of administering 10+ joomla installations. If you are in a similar situation, this component is perfect for you. This component has only been tested locally and on my server, so use at your own risk. I would love to get feedback and/or testing from other people. Be sure to take a look at the README.


README:

Installation Instructions
NOTE: This component requires modification of two of joomla's core files:
- /includes/gacl.class.php
- /includes/joomla.php
As a result, during the installation process, your current copies of those files are backed up respectively as:
- /includes/gacl.class_backup.php
- /includes/joomla_backup.php
Then, during the installation process, both files are overwritten with the modified files included with this package.
The uninstall process will revert this process and will delete the modified versions and restore your original files.

1. Install component in joomla by going to installers->components in the administration
section. Select com_multi.zip as the file to upload and install.
2. The component should now be accessible under the components menu with title
"Multiple Sites"
3. Installation is now complete.
4. Joomla sites that you want to manage "globally" through this component must
be manually added by going to the administration page as described in step 2.
Instructions for manually adding a site can be read below.
NOTE: You do not need to manually add the joomla site for which the component is installed.


Adding a Site
1. Make sure the site that you are adding is already installed and a database
already exists for that site.
2. Click on Multiple Sites under the components menu in the joomla site for which
the component is installed.
3. Input the MYSQL server, MYSQL user, MYSQL pass, and database name of the NEW SITE
4. When you click add, if everything goes ok, a success message will be displayed.
Any existing users that existed on the joomla site for which the component is installed
will be automatically added to the new site. Any new users added or changes made to
users on joomla site with component will be reflected across all sites which you
have added to the component.


Explanation of how component works
1. The component creates a new table called 'dbs' in the database of your joomla site
for which you installed the component. This table keeps track of all your sites.
2. The mosUser class is modified in joomla.php so that any time a new user is added or
a change is made, the script checks the dbs table and applies the same change to all
the sites contained in the table.
3. gacl.class.php is modified to add a new function called change_db which is
called from joomla.php. This takes care of applying the same access controls across
all your sites when a change is made or a new user added.