%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/lightco1/www/lightingrepublic.com.au/components/com_simpleregistration/
Upload File :
Create Path :
Current File : /home/lightco1/www/lightingrepublic.com.au/components/com_simpleregistration/controller.php

<?php
/**
 * @version		  controller.php 2013-08-29 20:25:00 UTC zanardi
 * @package		  GiBi SimpleRegistration
 * @author      GiBiLogic
 * @authorEmail info@gibilogic.com
 * @authorUrl   http://www.gibilogic.com
 * @copyright	  Copyright (C) 2011-2013 GiBiLogic. All rights reserved.
 * @license		  GNU/GPL v2 or later
 */
defined('_JEXEC') or die('The way is shut');
jimport('joomla.application.component.controller');
jimport('joomla.html.parameter');




class SimpleregistrationController extends JControllerLegacy
{

	private $url = 'index.php?option=com_simpleregistration&view=registrationform';

	function __construct($config=array())
	{
		parent::__construct($config);
    $this->app = JFactory::getApplication();
    $this->db = JFactory::getDbo();
	}

	// show registration form
	function display()
	{
		if (!$this->app->input->get('view')) {
			$this->app->input->set('view', 'registrationform');
		}
		parent::display(false);
	}

	// create new user
	function save()
	{
		
            if ($this->app->input->get('return','')) {
                        $this->url = base64_decode(JFactory::getApplication()->input->get('return',''));
            }
	
	
		jimport('joomla.filter.filterinput');

		$filter = JFilterInput::getInstance();
		$email = $filter->clean($this->app->input->getString('email'));

		// Check that e-mail is not already taken
		$query = 'SELECT COUNT(*) FROM #__users WHERE email = ' . $this->db->quote($email);
		$this->db->setQuery($query);
		if ($this->db->loadResult() > 0) {
			$message = JText::_('COM_SIMPLEREGISTRATION_EMAIL_EXIST');//"COM_SIMPLEREGISTRATION_EMAIL_EXIST";
			$type = "error";
			$url = "index.php?option=com_simpleregistration&view=registrationform&Itemid=157";
			$this->setRedirect($url, $message, $type);
			//$this->setRedirect($this->url, $message, $type);
			return false;
		}

		jimport('joomla.application.component.helper');
		$params = JComponentHelper::getParams('com_simpleregistration');

		jimport('joomla.mail.helper');
		jimport('joomla.user.helper');

		$lang = JFactory::getLanguage();
		$lang->load('com_user');
		$lang->load('com_users');

		if (!JMailHelper::isEmailAddress($email)) {
			JError::raiseWarning('', JText::_('SIMPLEREGISTRATION_EMAIL_NOT_VALID'));
			return false;
		}

		$user = JFactory::getUser(0);
		
		$usersParams = JComponentHelper::getParams('com_users');
		$usertype = $usersParams->get('new_usertype');
		
		$name = $filter->clean(JRequest::getVar('name'));
		
		$data = array();

		$data['name'] = $name;
		$data['email'] = $email;
		$data['email1'] = $email;
		$data['gid'] = $usertype;
		$data['sendEmail'] = 0;

		if ($params->get('extractusername', 0) == 1) {
			$tmp_array = explode('@', $email);
			$data['username'] = $tmp_array[0];
		}
		else {
			$data['username'] = $email;
		}

		if ($params->get('requestpassword', 0) == 0) {
			$password = JUserHelper::genRandomPassword();
		}
		else {
			$password = $filter->clean(JRequest::getVar('password'));
		}
		$data['password'] = $password;
		$data['password1'] = $password;
		$data['password2'] = $password;

		
		
		require_once(JPATH_COMPONENT. '/models/registration.php');
		$model = new SimpleregistrationModelRegistration();
		$activation = $model->register($data);
		
/****************DK**********************/		
		
		$db = JFactory::getDbo();
		// Create a new query object.
		$query = $db->getQuery(true);
		$query = "select id from #__users where email='".$_REQUEST['email']."' order by id DESC LIMIT 1";
		$db->setQuery($query);
		$results = $db->loadObject();
		$last_id = $results->id;
		
		
		/* USER CAN DIRECTLY ACTIVATED*/
 		//$query3 = "UPDATE #__users SET block=0,activation='' WHERE id='".$last_id."'";
	//	$query3 = "UPDATE #__users SET block=0 WHERE id='".$last_id."'";
		//$db->setQuery($query3);
		//$result = $db->query();
		
		
		/************* FILE UPLOAD *****************/
		//Retrieve file details from uploaded file, sent from upload form
		$file = JRequest::getVar('file_upload', null, 'files', 'array');
		//Import filesystem libraries. Perhaps not necessary, but does not hurt
		jimport('joomla.filesystem.file');
		//Clean up filename to get rid of strange characters like spaces etc
		$filename = JFile::makeSafe($file['name']);
		//Set up the source and destination of the file
		$src = $file['tmp_name'];
		$ext =substr($filename,strrpos($filename,'.'));
		$newfilename = time().rand(1,9999).$ext;
		$dest = JPATH_BASE ."/media/userdata" . DS . $newfilename;
		//echo $dest = JPATH_COMPONENT . DS . "uploads" . DS . $newfilename;
		if( JFile::upload($src, $dest) )
		{
			//JFile::upload($src, $dest2);
			//$dest2 = "userdata" . DS . $newfilename;
			//echo $src=$_FILES['file_upload']['tmp_name'];
			//echo move_uploaded_file($src,$dest2);
			//exit;
		}
		else{
			exit;
		}
		/****************** END FILE UPLOAD ***********************/
		
		/******insert other data*/
		//table columns
		$query1 = "insert into #__user_other_info (user_id,pfrom,pdate,name,address,country,message,preceipt_file_name) VALUES ('".$last_id."','".$_REQUEST['pfrom']."','".$_REQUEST['pdate']."','".$_REQUEST['name']."','".$_REQUEST['address']."','".$_REQUEST['country']."','".$_REQUEST['message']."','".$newfilename."')";
		$db->setQuery($query1);
		$db->query();
		
		
		foreach($_REQUEST['pcode'] as $key=>$value)
		{
			$query2 = "insert into #__user_product_details (user_id,pcode,qty,shop_name,purchase_date,receipt_file_name) VALUES ('".$last_id."','".$_REQUEST['pcode'][$key]."','".$_REQUEST['qty'][$key]."','".$_REQUEST['pfrom']."','".$_REQUEST['pdate']."','".$newfilename."')";
			if($value != NULL) {
				$db->setQuery($query2);
				$db->query();
			}
		}
		
		
	#### MAIL ####
		
	$mailer = JFactory::getMailer();
	
	//sender email
	$sender = array( $_REQUEST['email'],$_REQUEST['name'] );
 	$mailer->setSender($sender);
	
	//Recipient email
	$recipient = "info@lightingrepublic.hk";
 	$mailer->addRecipient($recipient);
		
	$body   = "Purchased From:".$_REQUEST['pfrom']."\n"."Date:".$_REQUEST['date']."\n"."Name:".$_REQUEST['name']."\n"."Address:".$_REQUEST['address']."\n"."Country:".$_REQUEST['country']."\n"."Email:".$_REQUEST['email']."\n"."Message:".$_REQUEST['message']."\n";
	$mailer->setSubject('New User Registration');
	$mailer->setBody($body);
	//file attached
	$mailer->addAttachment($_REQUEST['file']['temp']);
	$send = $mailer->Send();
	
	#### END MAIL ####

	/*$parts = explode("@",$_REQUEST['email']);
	$username = $parts[0];*/
/****************** END DK ************************/
		
		switch ($activation) {
			case 'useractivate':
				$message = JText::_('COM_USERS_REGISTRATION_COMPLETE_ACTIVATE');
				break;
			case 'adminactivate':
				$message = JText::_('COM_USERS_REGISTRATION_COMPLETE_VERIFY');
				break;
			default:
				$message = "Username: ".$data['username']."<br/>"."Email: ".$data['email']."<br/><br/>".JText::_('COM_USERS_REGISTRATION_ACTIVATE_SUCCESS');
		}
		if ($params->get('autologin', 0) == 1) {
			$credentials = array("username" => $data['username'], "password" => $data['password']);
      $this->app->login($credentials);
		}

		//$this->setRedirect($this->url, $message);
		//$url = "become-a-citizen&Itemid=157";
		$url = "index.php?option=com_simpleregistration&view=registrationform";
		$this->setRedirect($url, $message);
	}


	function chkUsername() {

		 if( $username = JRequest::getVar( 'username', '', 'get' ) ) {
			$db =& JFactory::getDBO();
			$query = 'SELECT id FROM #__users'
			. ' WHERE username = '.$db->Quote( $username );
			$db->setQuery( $query ); 
			$result=$db->loadObject();
			if ($result) {      
			   $response['html'] = $username.JText::_( 'COM_AA4J_UNAME_NOT_AVAILABLE' );
			   $response['msg'] = 'false';
			} else {
			   $response['html'] = JText::_( 'COM_AA4J_UNAME_AVAILABLE' );
			   $response['msg'] = 'true';
			}
		  } 
		  else {
			$response['html'] = JText::_( 'COM_AA4J_INVALID' );
			$response['msg'] = 'false';
		  }
		  
		//header('Content-type: application/json');
		echo (json_encode( $response )) ;
		//echo "asdfasdfasdfasdf";
		return true;
	}
	
	function chkSkucode() {

		 if( $skucode = JRequest::getVar( 'skucode', '', 'get' ) ) {
			$db =& JFactory::getDBO();
			$query = 'SELECT virtuemart_product_id FROM #__virtuemart_products'
			. ' WHERE product_sku = '.$db->Quote( $skucode );
			$db->setQuery( $query ); 
			$result=$db->loadObject();
			if ($result) {      
			   $response['html'] = "ok";
			   $response['msg'] = 'true';
			} else {
			   $response['html'] = "Invalid Code";
			   $response['msg'] = 'false';
			}
		  } 
		  else {
			$response['html'] = "Invalid Code";
			$response['msg'] = 'false';
		  }
		  
		echo (json_encode( $response )) ;
		return true;
	} 

}


Zerion Mini Shell 1.0