<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Piranha Method &#187; Joomla</title>
	<atom:link href="http://www.piranhamethod.com/category/development-blog/programming/php/joomla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.piranhamethod.com</link>
	<description>Web Development &#38; Graphic Design Firm - Charlotte, Greenville, Charleston</description>
	<lastBuildDate>Wed, 14 Apr 2010 02:18:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Joomla 1.5 Bulk User Import CSV using PHP Script</title>
		<link>http://www.piranhamethod.com/2009/05/joomla-15-bulk-user-import-csv-using-php-script/</link>
		<comments>http://www.piranhamethod.com/2009/05/joomla-15-bulk-user-import-csv-using-php-script/#comments</comments>
		<pubDate>Thu, 28 May 2009 04:09:01 +0000</pubDate>
		<dc:creator>Matthew Cluver</dc:creator>
				<category><![CDATA[Development Blog]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[code snippets]]></category>
		<category><![CDATA[joomla tips]]></category>
		<category><![CDATA[php scripts]]></category>

		<guid isPermaLink="false">http://www.piranhamethod.com/?p=297</guid>
		<description><![CDATA[While doing some work tonight, I came across a handy little script that is useful for importing users in bulk into Joomla using CSV files. This is very useful if your are moving user information from another content management system (CMS) into Joomla 1.5.]]></description>
			<content:encoded><![CDATA[<p>While doing some work tonight, I came across a handy little script that is useful for importing users in bulk into Joomla using CSV files. This is very useful if your are moving user information from another content management system (CMS) into Joomla 1.5.</p>
<p><span id="more-297"></span></p>
<pre name="code" class="php">
< ?php

// Hande form upload
if(isset($_POST['import'])) {

$mysql_host = trim($_POST['mysql_host']);
$mysql_user = trim($_POST['mysql_username']);
$mysql_password = trim($_POST['mysql_password']);
$mysql_schema = trim($_POST['mysql_schema']);

$table_prefix = trim($_POST['table_prefix']);

if(!mysql_connect($mysql_host, $mysql_user, $mysql_password) || !mysql_select_db($mysql_schema)) {
echo â€˜Supplied MySQL details were incorrect - abortingâ€™;
return;
}

// Get the joomla groups
$sql = sprintf(â€˜
SELECT  `id`, `value`
FROM    `%score_acl_aro_groups`
â€˜,
$table_prefix
);
$rs = mysql_query($sql);
$groups = array();
while($group = mysql_fetch_object($rs)) {
$groups[$group->value] = $group->id;
}

$fp = fopen($_FILES['csv']['tmp_name'], â€˜râ€™);
while($user = fgetcsv($fp)) {

printf(â€˜Importing â€%sâ€ â€¦ â€™, $user[0]);

// Lookup and verify user group
if(!isset($groups[$user[4]])) {
printf(â€˜error: Invalid group (%s) for %s. Defaulting to <code>Registered</code>%sâ€™, $user[4], $user[0], PHP_EOL);
$user[4] = â€˜Registeredâ€™;
}

// Insert record into wsers
$sql = sprintf(â€˜
INSERT INTO `%susers`
SET
`name`            = â€%sâ€,
`username`        = â€%sâ€,
`email`           = â€%sâ€,
`password`        = â€%sâ€,
`usertype`        = â€%sâ€,
`block`           = â€%sâ€,
`sendEmail`       = â€%sâ€,
`gid`             = â€%sâ€,
`registerDate`    = NOW(),
`lastvisitDate`   = â€0000-00-00 00:00:00â€³,
`activation`      = â€",
`params`          = â€"
â€˜,
$table_prefix,
sql_prep($user[0]),
sql_prep($user[1]),
sql_prep($user[2]),
isset($_POST['md5_passwords']) ? md5($user[3]) : sql_prep($user[3]),
sql_prep($user[4]),
sql_prep($user[5]),
sql_prep($user[6]),
$groups[$user[4]]
);
mysql_query($sql);
// Get back ther userâ€™s ID
list($user_id) = mysql_fetch_row(mysql_query(â€˜SELECT LAST_INSERT_ID()â€™));

// Insert record into core_acl_aro
$sql = sprintf(â€˜
INSERT INTO `%score_acl_aro`
SET
`section_value`   = â€usersâ€,
`value`           = %d,
`name`            = â€%sâ€
â€˜,
$table_prefix,
$user_id,
sql_prep($user[0])
);
mysql_query($sql);

// Insert record into core_acl_groups_aro_map
$sql = sprintf(â€˜
INSERT INTO `%score_acl_groups_aro_map`
SET
`group_id`        = %d,
`aro_id`          = LAST_INSERT_ID()
â€˜,
$table_prefix,
$groups[$user[4]]
);
mysql_query($sql);

echo â€˜done.â€™;
flush();
}

echo â€˜

<strong>Done</strong>â€™;

} else {
// show upload form
?>
<html><head></head><body>
<h1>Import Users to Joomla</h1>


Use this script to do a bulk import of users into Joomla 1.5.
Upload a CSV file with the following format:
<code>
name, username, email, password, usertype, block, send_email
</code>
Wrap details with commas in them in quotes.

<hr />
<form action=â€/index.phpâ€œ method=â€postâ€ enctype=â€multipart/form-dataâ€>
<input type=â€hiddenâ€ name=â€importâ€ value=â€1â€³ />
<table cellpadding=â€4pxâ€>
<tr>
<td>CSV File: </td>
<td>
<input type=â€fileâ€ name=â€csvâ€ /></td>
</tr>
<tr>
<td>MD5 Hash Passwords: </td>
<td>
<input type=â€checkboxâ€ name=â€md5_passwordsâ€ /><small>*Check this option if the passwords in your CSV are in plain text</small></td>
</tr>
<tr>
<td>Joomla Table Prefix: </td>
<td>
<input type=â€textâ€ name=â€table_prefixâ€ value=â€jos_â€ /></td>
</tr>
<tr>
<td>Joomla Database Name: </td>
<td>
<input type=â€textâ€ name=â€mysql_schemaâ€ value=â€joomlaâ€ /></td>
</tr>
<tr>
<td>MySQL Host: </td>
<td>
<input type=â€textâ€ name=â€mysql_hostâ€ value=â€localhostâ€ /></td>
</tr>
<tr>
<td>MySQL Username: </td>
<td>
<input type=â€textâ€ name=â€mysql_usernameâ€ value=â€" /></td>
</tr>
<tr>
<td>MySQL Password: </td>
<td>
<input type=â€textâ€ name=â€mysql_passwordâ€ value=â€" /></td>
</tr>
<tr>
<td></td>
<td>
<input type=â€submitâ€ name=â€submitâ€ value=â€ Import Users! â€ /></td>
</tr>
</table>
</form>

</body></html>
< ?php
}

function sql_prep($var) {
return mysql_real_escape_string($var);
}
?>
</pre>
<link type="text/css" rel="stylesheet" href="css/SyntaxHighlighter.css"></link>
<script language="javascript" src="js/shCore.js"></script><br />
<script language="javascript" src="js/shBrushCSharp.js"></script><br />
<script language="javascript" src="js/shBrushXml.js"></script><br />
<script language="javascript">
dp.SyntaxHighlighter.ClipboardSwf = '/flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.piranhamethod.com/2009/05/joomla-15-bulk-user-import-csv-using-php-script/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
