Your IP : 216.73.216.231


Current Path : /home/digilove/public_html/components/com_marketplace/models/
Upload File :
Current File : /home/digilove/public_html/components/com_marketplace/models/mpregistration.php

<?php
/**
 * Marketplace - Component Marketplace 
 * ******************************************************************
 *
 * PHP version 7.0
 *
 * @category   Component
 * @package    Joomla
 * @author     WebKul software private limited <support@webkul.com>
 * @copyright  2010 WebKul software private limited
 * @license    http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
 * @version    GIT:5.2
 * @filesource http://store.webkul.com
 * @link       Technical Support:  webkul.uvdesk.com
 * ******************************************************************
 */
// no direct access
if (!class_exists('VmConfig')) {
    include JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'components' .
    DIRECTORY_SEPARATOR . 'com_virtuemart'.DIRECTORY_SEPARATOR.'helpers'.
    DIRECTORY_SEPARATOR.'config.php';
}
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.model');
if (!class_exists('MarketplaceModelMpregistration')) {
    /**
     * Marketplace Model Mpregistration class
     * 
     * @category Component
     * @package  Joomla
     * @author   WebKul software private limited <support@webkul.com>
     * @license  http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
     * @link     Technical Support:  webkul.uvdesk.com
     */
    class MarketplaceModelMpregistration extends JModelForm
    {
        var $_data = null;
        /**
         * __construct function
         */
        function __construct()
        {
            parent::__construct();
        }
        /**
         * Get Form function
         *
         * @param array   $data     var
         * @param boolean $loadData var
         * 
         * @return void
         */
        public function getForm($data = array(), $loadData = true)
        {
            $form = $this->loadForm(
                'com_marketplace.mpregistration',
                'marketplace_captcha',
                array('control' => 'jform', 'load_data' => $loadData)
            );
            if (empty($form)) {
                return false;
            }
            return $form;
        }
        /**
         * Get Country List function
         *
         * @return void
         */
        function getCountryList()
        {
            $db=JFactory::getDBO();
            $query=$db->getQuery(true);
            $query->select(
                $db->quoteName(array('virtuemart_country_id','country_2_code','country_name'))
            )
                ->from($db->quoteName('#__virtuemart_countries'))
                ->where($db->quoteName('published')."=1");
            try{
                $db->setQuery($query);
                return $db->loadObjectList();
            } catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            } 
        }
        /**
         * Check Seller function
         *
         * @param integer $userid var
         * 
         * @return void
         */
        function checkSeller($userid)
        {
            $db=JFactory::getDBO();
            $query=$db->getQuery(true);
            $query->select($db->quoteName('is_seller'))
                ->from($db->quoteName('#__marketplace_sellerprofile'))
                ->where($db->quoteName('seller_id')."=".$db->quote($userid));
            try{
                $db->setQuery($query);
                return $db->loadResult();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
                return false;
            }
        }
        /**
         * Check User function
         *
         * @param integer $userid var
         * 
         * @return void
         */
        function checkUser($userid)
        {
            $db=JFactory::getDBO();
            $query=$db->getQuery(true);
            $query->select($db->quoteName('seller_id'))
                ->from($db->quoteName('#__marketplace_sellerprofile'))
                ->where($db->quoteName('seller_id')."=".$db->quote($userid));
            try{
                $db->setQuery($query);
                return $db->loadResult();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * Get Joomla User function
         *
         * @param [type] $userid var
         * 
         * @return void
         */
        function getJoomlaUser($userid)
        {
            $db=JFactory::getDBO();
            $query=$db->getQuery(true);
            $query->select('*')
                ->from($db->quoteName('#__users'))
                ->where($db->quoteName('id')."=".$db->quote($userid));
            try{
                $db->setQuery($query);
                return $db->loadAssoclist();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * Get Joomla User By Email function
         *
         * @param [type] $email var
         * 
         * @return void
         */
        function getJoomlaUserByEmail($email)
        {
            $db=JFactory::getDBO();
            $query=$db->getQuery(true);
            $query->select('email')
                ->from($db->quoteName('#__users'))
                ->where($db->quoteName('email')."=".$db->quote($email));
            try{
                $db->setQuery($query);
                return $db->loadResult();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            } 
        }
        /**
         * Save Item function
         *
         * @param integer $data var
         * 
         * @return void
         */
        function saveItem($data)
        {
            $check=$this->checkUser($data['seller_id']);
            if (!isset($check)) {
                $object=CurrencyDisplay::getInstance();
                $db=$this->_db;
                $params = JComponentHelper::getParams('com_marketplace');
                $create_seller = trim($params->get('create_seller'));
                $comm_type= trim($params->get('commision_option'));
                $comm_rate= trim($params->get('commision'));
                
                if ($data['seller_id']) {
                    // Create and populate an object for profile
                    $profile = new stdClass();
                    
                    // populate object with seller data
                    $profile->seller_id = $data['seller_id'];
                    $profile->screenname = $data['name'];
                    $profile->first_name = $data['first_name'];
                    $profile->last_name = $data['last_name'];
                    $profile->gender = $data['title'];
                    $profile->phone = $data['phone_1'];
                    $profile->address = $data['address_1'];
                    $profile->companylocality = $data['city'];
                    $profile->companyname = $data['company'];
                    $profile->countrylogo = $data['countrylogo'];
                    $profile->state_vm = $data['virtuemart_state_id'];
                    $profile->zip = $data['zip'];
                    $profile->commission = $comm_rate;

                    // Check condition to activate seller or not
                    if ($create_seller == 1) {
                        $profile->is_seller = 1;
                    } elseif ($create_seller== 0) {
                        $profile->is_seller = 0;
                    }
                    
                    // Insert the object into the seller profile table.
                    try{
                        $result = $db->insertObject(
                            '#__marketplace_sellerprofile', $profile
                        );
                    }
                    catch(Exception $e){
                        JFactory::getApplication()->enqueueMessage(
                            $e->getMessage(),
                            'error'
                        );
                        return false;
                    } 
                    
                    // Create and populate an object for commision
                    $commision = new stdClass();
                    $commision->commision = $comm_rate;
                    $commision->seller_id = $data['seller_id'];
                    $commision->total_sales = 0;
                    $commision->amount_recieved = 0;
                    $commision->amount_remain = 0;
                    $commision->amount_paid = 0;
                    $commision->currency = $object->_vendorCurrency;
                    $commision->commision_type = $comm_type;
                    
                    // Insert the object into the seller commision table.
                    try{
                        $result = $db->insertObject(
                            '#__marketplace_commision', $commision
                        );
                    }
                    catch(Exception $e){
                        JFactory::getApplication()->enqueueMessage(
                            $e->getMessage(),
                            'error'
                        );
                        return false;
                    }
                    return $db->insertid();
                }
            } else {
                JFactory::getApplication()->enqueueMessage(
                    JText::_("COM_MARKETPLACE_SAME_SELLER"),
                    'error'
                );
                return 0;
            }
        }
    }
}