Hi everyone,I am creating a custom component.How can I create new user from my component.I tried this but its not working.
OR how can I create an api to create virtuemart user?
<?php
define('_JEXEC', 1);
defined('_JEXEC') or die( 'Restricted access' );
define('DS', DIRECTORY_SEPARATOR);
@ob_start();
session_start();
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}
require_once JPATH_BASE.'/includes/framework.php';
//JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'tables');
define('JPATH_VM_SITE', JPATH_ROOT.DS.'components'.DS.'com_virtuemart');
define('JPATH_VM_ADMINISTRATOR',JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart');
jimport('joomla.application.component.model');
require('administrator/components/com_virtuemart/models/user.php');
//$vmuser = new ('1');
$mdata = array
(
'email' => 'tssssest@yahoo.com',
'username' => 'tsssest@yahoo.com',
'name' => 'tesstuser',
'password' => 'tesstuser',
'password2' => 'tesstuser',
'first_name' => 'test',
'middle_name' => 'test',
'last_name' => 'test',
'address_1' => 'test',
'address_2' => 'test',
'zip' => '00977',
'city' => 'test',
'virtuemart_country_id' => '147',
'virtuemart_state_id' => '',
'phone_1' => '',
'task' => 'saveUser',
'address_type' => 'BT',
'option' => 'com_virtuemart',
'controller' => 'user',
'c97da4a4c007f5b1d0a7c1d3b012e179' => '1',
);
$app = JFactory::getApplication('site');
// Initialise the application.
$app->initialise();
$vuser = new VirtueMartModelUser(0);
$r = $vuser->store($mdata,TRUE);
if(!empty($r)){
var_dump($r);
}
?>
Please help me.Give me some ideas.Thanks.
First you should not define the defines yourself. Read here http://dev.virtuemart.net/projects/virtuemart/wiki/Developing_a_module_or_plugin_for_VirtueMart_2
start with including and loading the config.
Then just get the model and let the model do the rest for you, for example
$vuser = new VirtueMartModelUser(0); =>$vuser = VmModel::getModel('user')