Joomla Jfusion plugin for TrinityCore

Ok people.

I managed to write a Jfusion plugin for TrinityCore.

Works ok on Jfusion version 1.5.5

These are the files for plugin to work:

index.html


<!DOCTYPE html>

<html>

  <head>

    <title>Direct Access Denied</title>

  </head>

  <body>

    <p>Direct Access Denied</p>

  </body>

</html>

admin.php


<?php


/**

 * file containing administrator function for the jfusion plugin

 * 

 * PHP version 5

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */


// no direct access

defined('_JEXEC') or die('Restricted access');


/**

 * JFusion Admin Class for TrinityCore

 * For detailed descriptions on these functions please check the model.abstractadmin.php

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */


class JFusionAdmin_TrinityCore extends JFusionAdmin 

{

    /**

     * returns the name of this JFusion plugin

     * @return string name of current JFusion plugin

     */

    function getJname() 

    {

        return 'TrinityCore';

    }

    function getTablename() {

        return 'account';

    }

    function getUserList() {

        //getting the connection to the db

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'SELECT username, email from #__account';

        $db->setQuery($query);

        $userlist = $db->loadObjectList();

        return $userlist;

    }

    function getUserCount() {

        //getting the connection to the db

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'SELECT count(*) from #__account';

        $db->setQuery($query);

        //getting the results

        return $db->loadResult();

    }

    function getUsergroupList() {

		$group = array(

			array(

				'id' => '0', 

				'name' => 'User'

			),

			array(

				'id' => '1',

				'name' => 'Game Moderator'

			),

			array(

				'id' => '2',

				'name' => 'Game Master'

			),

			array(

				'id' => '3',

				'name' => 'Administrator'

			),

			array(

				'id' => '4',

				'name' => 'Console user'

			)

		);

        return $group;

    }

    function getDefaultUsergroup() {

		$params = JFusionFactory::getParams($this->getJname());

        $usergroup_id = $params->get('usergroup');

		$group = array('0' => 'User', '1' => 'Game Moderator', '2' => 'Game Master', '3' => 'Administrator', '4' => 'Console user');

		$default = $group[(int)$usergroup_id];

		return $default;

    }

	function allowRegistration() {

		$result = false;

		return $result;

    }

}

?>

auth.php


<?php

/**

 * 

 *

 * PHP version 5

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */

// no direct access

defined('_JEXEC') or die('Restricted access');


/**

 * JFusion Authentication Class for TrinityCore

 * For detailed descriptions on these functions please check the model.abstractauth.php

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */

class JFusionAuth_TrinityCore extends JFusionAuth {

    function generateEncryptedPassword($userinfo) {

        //Apply TrinityCore encryption

        $testcrypt = SHA1(strtoupper($userinfo->username) . ':' . strtoupper($userinfo->password_clear));

        return $testcrypt;

    }

}

?>

jfusion.xml


<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">

<install type="jfusion" version="1.5.0">

	<name>TrinityCore</name>

	<author>JFusion Development Team</author>

	<creationDate>December 2010</creationDate>

	<copyright>Copyright (C) 2008 JFusion. All rights reserved.</copyright>

	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>

	<authorEmail>[email protected]</authorEmail>

	<authorUrl>www.jfusion.org</authorUrl>

	<version>1.5.5-000</version>

	<description>TrinityCore 1.0.0</description>

	<slave>1</slave>


	<files>

		<filename>admin.php</filename>

		<filename>auth.php</filename>

		<filename>index.html</filename>

		<filename>jfusion.xml</filename>

		<filename>public.php</filename>

		<filename>user.php</filename>

	</files>

  	<params addpath="/administrator/components/com_jfusion/elements">

		<param name="jfusionbox" type="text" default="" label="PLUGIN_GENERAL_DETAILS" description="" />

		<param name="description" type="text" size="60" default="TrinityCore" description="DESCRIPTION"/>


		<param name="jfusionbox" type="text" default="" label="DATABASE_OPTIONS" description="" />

		<param name="database_type" type="text" size="20" default="" description="DATABASE_TYPE"/>

		<param name="database_host" type="text" size="20" default="" description="DATABASE_HOST"/>

		<param name="database_name" type="text" size="20" default="" description="DATABASE_NAME"/>

		<param name="database_user" type="text" size="20" default="" description="DATABASE_USER"/>

		<param name="database_password" type="password" size="20" default="" description="DATABASE_PASSWORD"/>

		<param name="database_prefix" type="text" size="20" default="" description="DATABASE_PREFIX"/>

		<param name="database_charset" type="text" size="20" default="utf8" description="DATABASE_CHARSET"/>


		<param name="jfusionbox" type="text" default="" label="LOGIN_OPTIONS" description="" />

		<param name=" " type="helptext" default="LOGIN_IDENTIFIER_DESCR"/>

		<param name="login_identifier" type="list" default="1" description="LOGIN_IDENTIFIER">

			<option value="1">USERNAME</option>

			<option value="2">EMAIL</option>

			<option value="3">USERNAME_OR_EMAIL</option>

		</param>


		<param name="jfusionbox" type="text" default="" label="USER_OPTIONS" description="" />

		<param name=" " type="helptext" default="DEFAULT_USERGROUP_DESCR"/>

		<param name="usergroup" type="JFusionUsergroups" description="DEFAULT_USERGROUP" label="DEFAULT_USERGROUP" />

		<param name="activationgroup" type="JFusionUsergroups" description="DEFAULT_ACTIVATIONGROUP" label="DEFAULT_ACTIVATIONGROUP" />

		<param name="@spacer" type="spacer" default="" label=""	description="" />

		<param name=" " type="helptext" default="AUTO_UPDATE_DESCR"/>

		<param name="update_activation" type="list" default="1" label="" description="UPDATE_ACTIVATION">

			<option value="1">YES</option>

			<option value="0">NO</option>

		</param>

		<param name="update_block" type="list" default="1" label="" description="UPDATE_BLOCK">

			<option value="1">YES</option>

			<option value="0">NO</option>

		</param>

		<param name="update_email" type="list" default="1" label="" description="UPDATE_EMAIL">

			<option value="1">YES</option>

			<option value="0">NO</option>

		</param>

		<param name="create_inactive" type="list" default="1" label="" description="CREATE_INACTIVE">

			<option value="1">YES</option>

			<option value="0">NO</option>

		</param>

		<param name="create_blocked" type="list" default="1" label="" description="CREATE_BLOCKED">

			<option value="1">YES</option>

			<option value="0">NO</option>

		</param>			

	</params>


</install>

public.php


<?php


/**

 * 

 * PHP version 5

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */


// no direct access

defined('_JEXEC') or die('Restricted access');


/**

 * JFusion Public Class for TrinityCore

 * For detailed descriptions on these functions please check the model.abstractpublic.php

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */

class JFusionPublic_TrinityCore extends JFusionPublic {

    /**

     * returns the name of this JFusion plugin

     * @return string name of current JFusion plugin

     */

    function getJname() 

    {

        return 'TrinityCore';

    }

	function getNumberOnlineMembers()

    {

		$db = JFusionFactory::getDatabase($this->getJname());

		$query = 'SELECT count(*) FROM #__account WHERE online = 1';

		$db->setQuery($query);

		return $db->loadResult();

    }

}

?>

user.php


<?php


/**

 * PHP version 5

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 * 

 */

// no direct access

defined('_JEXEC') or die('Restricted access');


/**

 * Load the JFusion framework

 */

//require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_jfusion' . DS . 'models' . DS . 'model.jfusion.php';

//require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_jfusion' . DS . 'models' . DS . 'model.abstractuser.php';

//require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_jfusion' . DS . 'models' . DS . 'model.jplugin.php';

/**

 * JFusion User Class for TrinityCore

 * For detailed descriptions on these functions please check the model.abstractuser.php

 * 

 * @category   JFusion

 * @package    JFusionPlugins

 * @subpackage TrinityCore

 * @author     JFusion Team <[email protected]>

 * @copyright  2008 JFusion. All rights reserved.

 * @license    http://www.gnu.org/copyleft/gpl.html GNU/GPL

 * @link       http://www.jfusion.org

 */

class JFusionUser_TrinityCore extends JFusionUser {


    function &getUser($userinfo) {

        //get the identifier

        list($identifier_type, $identifier) = $this->getUserIdentifier($userinfo, 'a.username', 'a.email');

        // Get user info from database

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'SELECT a.id as userid, a.username as username, a.sha_pass_hash as password, a.email as email, a.joindate, a.last_login as lastvisit, a.locked, a.last_ip ' . 'FROM #__account as a ' . 'WHERE ' . $identifier_type . '=' . $db->Quote($identifier);

		$db->setQuery($query);

        $result = $db->loadObject();


		if ($result) {

			$query = 'SELECT gmlevel FROM #__account_access WHERE id = ' . (int)$result->userid;

			$db->setQuery($query);

			$groupid = $db->loadResult();

			$group = array(

				array(

					'id' => '0', 

					'name' => 'User'

				),

				array(

					'id' => '1',

					'name' => 'Game Moderator'

				),

				array(

					'id' => '2',

					'name' => 'Game Master'

				),

				array(

					'id' => '3',

					'name' => 'Administrator'

				),

				array(

					'id' => '4',

					'name' => 'Console user'

				)

			);

			$result->group_name = $group[$groupid];

			//Check to see if they are banned

            $query = 'SELECT id, active FROM #__account_banned WHERE id= ' . $db->quote($result->userid);

            $db->setQuery($query);

            $expire = $db->loadObject();

            if ($expire) {

                if ($expire->active == '1') {

                    $result->block = 1;

                } else {

                    $result->block = 0;

                }

            } else {

                $result->block = 0;

            }

            if ($result->is_activated == 1) {

                $result->activation = '';

            }

		}


		return $result;

    }


	    function getJname() 

    {

        return 'TrinityCore';

    }


	    function deleteUser($userinfo) {

        //TODO: create a function that deletes a user


    }

    function filterUsername($username) {

        //TODO: no username filtering implemented yet

        return $username;

    }	

	function blockUser($userinfo, &$existinguser, &$status) {


		$db = JFusionFactory::getDatabase($this->getJname());

        $query = 'UPDATE #__account SET last_ip = \'127.0.0.1\', locked = 1 WHERE id  = ' . (int)$existinguser->userid;

		$db->setQuery($query);

		if (!$db->query()) {

			$status['error'][] = JText::_('BLOCK_UPDATE_ERROR') . $db->stderr();

		} else {

			$status['debug'][] = JText::_('BLOCK_UPDATE') . ': ' . $existinguser->block . ' -> ' . $userinfo->block;

		}

    }	

	function unblockUser($userinfo, &$existinguser, &$status) {

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'UPDATE #__account SET last_ip = null, locked = 0 WHERE id  = ' . (int)$existinguser->userid;

		$db->setQuery($query);

		if (!$db->query()) {

			$status['error'][] = JText::_('BLOCK_UPDATE_ERROR') . $db->stderr();

		} else {

			$status['debug'][] = JText::_('BLOCK_UPDATE') . ': ' . $existinguser->block . ' -> ' . $userinfo->block;

		}

    }

    function updatePassword($userinfo, &$existinguser, &$status) {

		jimport('joomla.user.helper');

        $existinguser->password = sha1(strtoupper($userinfo->username) . ':' . strtoupper($userinfo->password_clear));

        $existinguser->password_salt = substr(md5(rand()), 0, 4);

        $db = JFusionFactory::getDatabase($this->getJname());

		$query = 'UPDATE #__account SET sha_pass_hash =  ' . $db->quote($existinguser->password) . ', sessionkey = null, v = null, s = null WHERE id = ' . (int)$existinguser->userid;

        $db->setQuery($query);

        if (!$db->query()) {

            $status['error'][] = JText::_('PASSWORD_UPDATE_ERROR') . $db->stderr();

		} else {

            $status['debug'][] = JText::_('PASSWORD_UPDATE') . ' ' . substr($existinguser->password, 0, 6) . '********';

        }

    }

	function createUser($userinfo, &$status)

    {

        $user = new stdClass;

		$user->id = null;

        $user->username = strtoupper($userinfo->username);

        $user->email = $userinfo->email;

        if (isset($userinfo->password_clear)) {

            $user->sha_pass_hash = sha1(strtoupper($userinfo->username) . ':' . strtoupper($userinfo->password_clear));

        } else {

            $user->sha_pass_hash = sha1(strtoupper($userinfo->username) . ':' . strtoupper($userinfo->password_clear));

        }

        $user->joindate = date("Y-m-d H:i:s");

        if ($userinfo->activation) {

            $user->locked = 0;

        } else {

            $user->locked = 1;

        }

		$user->last_ip = '127.0.0.1';

		$db = JFusionFactory::getDatabase($this->getJname());


        if (!$db->insertObject('#__account', $user, 'id')) {

            $status['error'][] = JText::_('USER_CREATION_ERROR') .  $db->stderr();

			return $status;

        } else {

            $status['debug'][] = JText::_('USER_CREATION');

            $status['userinfo'] = $this->getUser($userinfo);

            return $status;

        }

    }

	function updateEmail($userinfo, &$existinguser, &$status)

    {

        //we need to update the email

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'UPDATE #__account SET email =' . $db->quote($userinfo->email) . ' WHERE id =' . (int)$existinguser->userid;

        $db->setQuery($query);

        if (!$db->query()) {

            $status['error'][] = JText::_('EMAIL_UPDATE_ERROR') . $db->stderr();

        } else {

            $status['debug'][] = JText::_('EMAIL_UPDATE') . ': ' . $existinguser->email . ' -> ' . $userinfo->email;

        }

    }

    function activateUser($userinfo, &$existinguser, &$status)

    {

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'UPDATE #__account SET last_ip = null, locked = 0 WHERE id  = ' . (int)$existinguser->userid;

        $db->setQuery($query);

        if (!$db->query()) {

            $status['error'][] = JText::_('ACTIVATION_UPDATE_ERROR') . $db->stderr();

        } else {

            $status['debug'][] = JText::_('ACTIVATION_UPDATE') . ': ' . $existinguser->activation . ' -> ' . $userinfo->activation;

        }

    }

	function inactivateUser($userinfo, &$existinguser, &$status)

    {

        $db = JFusionFactory::getDatabase($this->getJname());

        $query = 'UPDATE #__account SET last_ip = \'127.0.0.1\', locked = 1 WHERE id  = ' . (int)$existinguser->userid;

        $db->setQuery($query);

        if (!$db->query()) {

            $status['error'][] = JText::_('ACTIVATION_UPDATE_ERROR') . $db->stderr();

        } else {

            $status['debug'][] = JText::_('ACTIVATION_UPDATE') . ': ' . $existinguser->activation . ' -> ' . $userinfo->activation;

        }

    }


	function updateUsergroup($userinfo, &$existinguser, &$status)

    {

        $params = JFusionFactory::getParams($this->getJname());

        if (substr($params->get('usergroup'), 0, 2) == 'a:') {

            if (!isset($userinfo->group_id)) {

                $status['error'][] = JText::_('GROUP_UPDATE_ERROR') . ": " . JText::_('ADVANCED_GROUPMODE_MASTER_NOT_HAVE_GROUPID');

                return null;

            }

            $usergroups = unserialize($params->get('usergroup'));

            if (isset($usergroups[$userinfo->group_id])) {

                $db = JFusionFactory::getDatabase($this->getJname());

                $query = 'UPDATE #__account_access SET gmlevel =' . $db->quote($usergroups[$userinfo->group_id]) . ' WHERE id =' . (int)$existinguser->userid;

                $db->setQuery($query);

                if (!$db->query()) {

					$query = 'INSERT INTO #__account_access (id, gmlevel, RealmID) VALUES (' . (int)$existinguser->userid . ', ' . $db->quote($usergroups[$userinfo->group_id]) . ', 1)';

					$db->setQuery($query);

					if (!$db->query()) {

						$status['error'][] = JText::_('GROUP_UPDATE_ERROR') . $db->stderr();

					}

                } else {

                    $status['debug'][] = JText::_('GROUP_UPDATE') . ': ' . $existinguser->group_id . ' -> ' . $usergroups[$userinfo->group_id];

                }

            }

        } else {

            $status['error'][] = JText::_('GROUP_UPDATE_ERROR');

        }

    }

 }

?>

Just pack the files in zip format, go to Jfusion Plugin Manager and install the package.

After that, you should see the plugin on Configuration tab. Just click on the edit and configure your DB connection to auth database.

If you do a sync after that, every user created on joomla will be created automatically on auth database.

Cheers

Ok people!

I managed to get this work.

I changed a bit of code lines and now it works!

This plugin:

  • creates account on Trinity when someone register on joomla.

  • unblock account on Trinity when someone activate is account on joomla.

  • block account on Trinity when a admin block a account on joomla.

  • ban account on Trinity when a admin ban a account on joomla.

  • update account on Trinity (mail, username, password, etc…) when someone update is account on joomla.

  • change the GM level on Trinity when a admin change the user level on joomla.

I just have 2 questions to the devs:

  • if i delete the account on the database, does the core delete the associated characters after a while or does it keep them on database? If it delete them after a while, i can make the code to account delete.

  • i know that some time ago when someone create a mail item on database, the core doesn’t load it. Is this still the same? How can i create a mail directly on database so that the core load it correctly without restart.

Cheers

Not bad of a system, congratulations on making Joomla a little more bearable /emoticons/default_wink.png

Why not use RA for sending in-game mails?

Yes, i need /emoticons/default_sad.png

Thank you!

Ok. Not an expert I am, nor knowing to musch about php/sql and other stuff but a quick and adaptiv schoolar here.

Regarding joomla use for a TC website u guys could use

Now using php page component, create a new page and insert for exemple this code:

[CODE]<?php

// Create new ExternalDB instance, using the details that we set earlier (in the EXTERNALDB plugin)

$dbxo = new externaldatabase (‘World’);

// Create a new jDatabase object, connected with the details from the above selected DSN.

// We call ExternalDB objects $dbx just as a standard practice

$dbx = $dbxo->getDB ();

// sending query

$result = mysql_query(“SELECT name, security, help FROM command WHERE security=(0)”);

if (!$result) {

die("Query to show fields from table failed");

}

$fields_num = mysql_num_fields($result);

echo “

Table: {$table}

”;

echo “

”;

// printing table headers

for($i=0; $i<$fields_num; $i++)

{

$field = mysql_fetch_field($result);

echo "<td>{$field->name}</td>";

}

echo “

\n”;

// printing table rows

while($row = mysql_fetch_row($result))

{

echo "<tr>";


// $row is array... foreach( .. ) puts every element

// of $row to $cell variable

foreach($row as $cell)

    echo "<td>$cell</td>";


echo "</tr>\n";

}

mysql_free_result($result);

?>

[/CODE]

Than make anew menu from Menus / PHP PAGES (selecting the page u just created from menu parameters

I am just a poor learning novice.

Good luck

That does exactly what?

If you are posting another extension to create accounts, i sugest you to create another topic.

ok. Those 2 extensions are not for user account creation, but indeed have nothing in common with jfusion. Thoe could be used for

  • externaldb plg - let u configure a connection to TC mysql dbs or any mysql database (configurable via admin plugin setting - no user acces)

  • PHP pages component - easy way to create and display a .php in joomla (any data from trinity databases) see the above exempple. (writted this just that u asked).

Sorry for offtopic and wrong posting, just wanted to be helpfull.

Anyway i still don’t understand the meaning of that plugin (externaldb). Is is to do the same as phpmyadmin?

PHP Pages is cool if you want to develop php stuff to be used on joomla. But that will create some problems with joomla integration.

Any way, the 2 plugins doesn’t give anything new to the comunity. What i try to accomplish here is a Jfusion plugin to manage trinity accounts pacifically. Instead of having a custom page to create account/activate account/update account/etc… everything is managed with joomla itself. Jfusion transfer all info to trinity.

I also like Jfusion because i can have many stuff integrated on the same joomla account (Forum like SMF or PHPBB or vbultin or other, Wiki, Gallery, etc…). With it we can integrate all without touching the rest of the softwares that can break licensing.

Anyway, i do my best! /emoticons/default_wink.png

Error in import users

Please enter your name.

in auth db accounts dont have name

only username.

i cant import.

how bypass?

This plugin creates the user on the auth db, not the inverse.

Doing the inverse, the joomla needs to be filled with the “name” and auth db doesn’t have a “name” column.

When doing the sync, make sure you select “import users into slaves”, and select wich plugins you want to use to sync.

Hi there again. Havent been here for long time, but…regarding the use immport from AUTH database to joomla…

If u have already an Auth database with alot of users and want to import them to joomla…

in user.php

[CODE] $query = 'SELECT a.id as userid, a.username as username, a.sha_pass_hash as password, a.email as email, a.joindate, a.last_login as lastvisit, a.locked, a.last_ip ’ . 'FROM #__account as a ’ . 'WHERE ’ . $identifier_type . ‘=’ . $db->Quote($identifier);

            $db->setQuery($query);[/CODE]

add a.username as name,… this worked for me

I also have a question…how can I limit special characters to be used in joomla account username creation? I mean i dont want username like simon_valy be created in AUTH database…

I think i saw a extension for that somewhere… I prefere to use extension instead of touching the joomla code… let me see if i find that extension.

Got these 2 errors when trying to install them.

> ( ! ) Warning: require_once(C:\wamp\www\libraries\joomla\installer\adapters\jfusion.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\libraries\joomla\installer\installer.php on line 216

Call Stack

#	Time	Memory	Function	Location

1	0.0007	390216	{main}( )	..\index.php:0

2	0.0973	4053264	JAdministrator->dispatch( )	..\index.php:67

3	0.1048	4584640	JComponentHelper->renderComponent( )	..\application.php:136

4	0.1130	4688624	require_once( 'C:\wamp\www\administrator\components\com_installer\admin.installer.php' )	..\helper.php:162

5	0.1354	6607400	JController->execute( )	..\admin.installer.php:44

6	0.1354	6607456	InstallerController->doInstall( )	..\controller.php:236

7	0.1422	6930728	InstallerModelInstall->install( )	..\controller.php:71

8	0.1797	8428816	JInstaller->install( )	..\install.php:86

9	0.1799	8428984	JInstaller->setupInstall( )	..\installer.php:307

10	0.1930	8494808	JInstaller->setAdapter( )	..\installer.php:430

I think i didin;t install jfusion proprely. Do you have a link to a good guide i could follow?

> ( ! ) Fatal error: require_once() [function.require]: Failed opening required 'C:\wamp\www\libraries\joomla\installer\adapters\jfusion.php' (include_path='.;C:\php\pear') in C:\wamp\www\libraries\joomla\installer\installer.php on line 216

Call Stack

#	Time	Memory	Function	Location

1	0.0007	390216	{main}( )	..\index.php:0

2	0.0973	4053264	JAdministrator->dispatch( )	..\index.php:67

3	0.1048	4584640	JComponentHelper->renderComponent( )	..\application.php:136

4	0.1130	4688624	require_once( 'C:\wamp\www\administrator\components\com_installer\admin.installer.php' )	..\helper.php:162

5	0.1354	6607400	JController->execute( )	..\admin.installer.php:44

6	0.1354	6607456	InstallerController->doInstall( )	..\controller.php:236

7	0.1422	6930728	InstallerModelInstall->install( )	..\controller.php:71

8	0.1797	8428816	JInstaller->install( )	..\install.php:86

9	0.1799	8428984	JInstaller->setupInstall( )	..\installer.php:307

10	0.1930	8494808	JInstaller->setAdapter( )	..\installer.php:430

Joomla 1.5.23

Only install! It does not really need a guide.

I tested it with Joomla 1.5.23 and jfusion 1.5.5

Works perfectly.

http://www.jfusion.org/docs/doku.php?id=installation

First post here and I’m going to make it a doozy. Where exactly in user.php do I put this? Or does it not matter?

Never mind, I figured it out =) Works great. Thank you!

Hi, I installed this plugin but don’t sync trinity account with my smf forum.

It count all tc accounts in sync proccess but Total Progress don’t update and don’t sync accounts:

http://www.goliardo.es/progress.jpg