Your IP : 216.73.216.248


Current Path : /home/digilove/public_html/components/com_marketplace/models/
Upload File :
Current File : /home/digilove/public_html/components/com_marketplace/models/sellerprofile.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
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.model');

if (!class_exists('MarketplaceModelSellerprofile')) {
    /**
     * Undocumented 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 MarketplaceModelSellerprofile extends JModelLegacy
    {
        var $_data = null;
        /**
         * __construct function
         */
        function __construct()
        {
            parent::__construct();
        }
        /**
         * GetRecords function
         *
         * @param [type]  $lazy_limit var
         * @param [type]  $lazy_start var
         * @param [type]  $lang_tag   var
         * @param [type]  $seller_id  var
         * @param integer $tot        var
         * 
         * @return void
         */
        function getRecords(
            $lazy_limit,
            $lazy_start,
            $lang_tag,
            $seller_id,
            $tot=0
        ) {
            $db = $this->_db;
            $user = JFactory::getUser();
            $query=$db->getQuery(true);
            $query->select($db->quoteName('b.created_by'))
                ->select($db->quoteName('b.virtuemart_product_id'))
                ->select($db->quoteName('b.published'))
                ->select('e.*')
                ->select($db->quoteName('f.rating'))
                ->select($db->quoteName('g.product_price'))
                ->select($db->quoteName('g.override'))
                ->select($db->quoteName('g.product_override_price'))
                ->select($db->quoteName('g.product_tax_id'))
                ->select($db->quoteName('g.product_discount_id'))
                ->select($db->quoteName('g.product_currency'))
                ->select($db->quoteName('vm.file_url'))
                ->select($db->quoteName('vm.virtuemart_media_id'))
                ->from($db->quoteName('#__virtuemart_products', 'b'))
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_products_'.$lang_tag, 'e').
                    " ON ".$db->quoteName('e.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id').""
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_prices', 'g')
                    ." ON ".$db->quoteName('g.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_medias', 'vpm').
                    " ON ".$db->quoteName('vpm.virtuemart_product_id')
                    ."=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_medias', 'vm')
                    ." ON ".$db->quoteName('vm.virtuemart_media_id')
                    ."=".$db->quoteName('vpm.virtuemart_media_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_ratings', 'f').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('f.virtuemart_product_id')
                )
                ->where($db->quoteName('b.created_by')."=".$db->quote($seller_id)."")
                ->where($db->quoteName('b.published')."=1")
                ->group($db->quoteName('b.virtuemart_product_id'))
                ->order($db->quoteName('b.created_on').' DESC');
            try{
                if ($tot==1) {
                    $db->setQuery($query);
                    return $db->loadObjectList();
                } else {
                    $db->setQuery($query, $lazy_start, $lazy_limit);
                    return $db->loadObjectList();
                }
            } catch(Exception $e) {
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * GetLazyRecord function
         *
         * @param [type] $lazy_limit var
         * @param [type] $lang_tag   var
         * @param [type] $seller_id  var
         * 
         * @return void
         */
        function getLazyRecord($lazy_limit,$lang_tag,$seller_id)
        {
            $db = $this->_db;
            $user = JFactory::getUser();
            $query=$db->getQuery(true);
            $query->select($db->quoteName('b.created_by'))
                ->select($db->quoteName('b.virtuemart_product_id'))
                ->select($db->quoteName('b.published'))
                ->select('e.*')
                ->select($db->quoteName('f.rating'))
                ->select($db->quoteName('g.product_price'))
                ->select($db->quoteName('g.override'))
                ->select($db->quoteName('g.product_override_price'))
                ->select($db->quoteName('g.product_tax_id'))
                ->select($db->quoteName('g.product_discount_id'))
                ->select($db->quoteName('g.product_currency'))
                ->select($db->quoteName('vm.file_url'))
                ->select($db->quoteName('vm.virtuemart_media_id'))
                ->from($db->quoteName('#__virtuemart_products', 'b'))
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_products_'.$lang_tag, 'e').
                    " ON ".$db->quoteName('e.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_prices', 'g').
                    " ON ".$db->quoteName('g.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_medias', 'vpm').
                    " ON ".$db->quoteName('vpm.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_medias', 'vm').
                    " ON ".$db->quoteName('vm.virtuemart_media_id').
                    "=".$db->quoteName('vpm.virtuemart_media_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_ratings', 'f').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('f.virtuemart_product_id')
                )
                ->where($db->quoteName('b.created_by')."=".$db->quote($seller_id)."")
                ->group($db->quoteName('b.virtuemart_product_id'))
                ->order($db->quoteName('b.created_on').' DESC');
            try{
                $db->setQuery($query, 0, $lazy_limit);
                return $db->loadObjectList();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * GetSellerInfo function
         *
         * @param [type] $seller_id var
         * 
         * @return void
         */
        function getSellerInfo($seller_id)
        {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $query->select('a.*')
                ->select($db->quoteName('c.email'))
                ->select($db->quoteName('c.name'))
                ->from($db->quoteName('#__marketplace_sellerprofile', 'a'))
                ->join(
                    'LEFT',
                    $db->quoteName('#__users', 'c')." ON ".
                    $db->quoteName('c.id')."=".$db->quoteName('a.seller_id')
                )
                ->where($db->quoteName('seller_id')."=".$db->quote($seller_id))
                ->group($db->quoteName('a.seller_id'));
            try{
                $db->setQuery($query);
                return $db->loadObjectList();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * GetFeedback function
         *
         * @param [type]  $seller_id  var
         * @param [type]  $lazy_limit var
         * @param integer $tot        var
         * 
         * @return void
         */
        function getFeedback($seller_id,$lazy_limit,$tot=0)
        {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $query->select('*')
                ->from($db->quoteName('#__marketplace_feedback'))
                ->where($db->quoteName('seller_id')."=".$db->quote($seller_id))
                ->where($db->quoteName('status')."=1")
                ->order($db->quoteName('create_date')." DESC");
            try{
                if ($tot==1) {
                    $db->setQuery($query);
                    return $db->loadObjectList();
                } else {
                     $db->setQuery($query, 0, $lazy_limit);
                    return $db->loadObjectList();
                }
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * GetFevoriteProduct function
         *
         * @param [type]  $a          var
         * @param [type]  $seller_id  var
         * @param [type]  $lang_tag   var
         * @param [type]  $lazy_start var
         * @param [type]  $lazy_limit var
         * @param integer $tot        var
         * 
         * @return void
         */
        function getFevoriteProduct(
            $a,
            $seller_id,
            $lang_tag,
            $lazy_start,
            $lazy_limit,
            $tot=0
        ) {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $select=array(
                $db->quoteName('b.created_by'),
                $db->quoteName('b.virtuemart_product_id'),
                $db->quoteName('b.published'),
                $db->quoteName('f.rating'),
                $db->quoteName('g.product_price'),
                $db->quoteName('g.override'),
                $db->quoteName('g.product_override_price'),
                $db->quoteName('g.product_tax_id'),
                $db->quoteName('g.product_discount_id'),
                $db->quoteName('g.product_currency'),
                'e.*',
                $db->quoteName('x.product_id'),
                $db->quoteName('vm.file_url'),
                $db->quoteName('vm.file_url')
            );
            $query->select($select)
                ->from($db->quoteName('#__virtuemart_products', 'b'))
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_products_'.$lang_tag, 'e').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('e.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_ratings', 'f')." ON ".
                    $db->quoteName('b.virtuemart_product_id')."="
                    .$db->quoteName('f.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_product_prices', 'g').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('g.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__marketplace_favourite_products', 'x').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('x.product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_medias', 'vpm').
                    " ON ".$db->quoteName('vpm.virtuemart_product_id')
                    ."=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_medias', 'vm').
                    " ON ".$db->quoteName('vm.virtuemart_media_id').
                    "=".$db->quoteName('vpm.virtuemart_media_id')
                )
                ->where($db->quoteName('b.created_by')."=".$db->quote($seller_id))
                ->where($db->quoteName('x.buyer_id')."=".$db->quote($a))
                ->where($db->quoteName('b.published')."=1")
                ->group($db->quoteName('b.virtuemart_product_id'));
                
            try{
                if ($tot==1) {
                    $db->setQuery($query);
                    return $db->loadObjectList();
                } else {
                    $db->setQuery($query, $lazy_start, $lazy_limit);
                    return $db->loadObjectList();
                }
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * GetFavorite function
         *
         * @param [type]  $seller_id  var
         * @param [type]  $lazy_start var
         * @param [type]  $lazy_limit var
         * @param [type]  $lang_tag   var
         * @param integer $total      var
         * 
         * @return void
         */
        function getFavorite(
            $seller_id,$lazy_start,$lazy_limit,$lang_tag,$total=0
        ) {
            $db = $this->_db;
            $query=$db->getQuery(true);
            $select=array(
                $db->quoteName('b.created_by'),
                $db->quoteName('b.virtuemart_product_id'),
                $db->quoteName('b.published'),
                $db->quoteName('x.id'),
                $db->quoteName('b.virtuemart_product_id'),
                'e.*',
                $db->quoteName('f.rating'),
                $db->quoteName('g.product_price'),
                $db->quoteName('g.override'),
                $db->quoteName('g.product_override_price'),
                $db->quoteName('g.product_tax_id'),
                $db->quoteName('g.product_discount_id'),
                $db->quoteName('g.product_currency'),
                $db->quoteName('vm.file_url')
            );
            $query->select($select)
                ->from($db->quoteName('#__virtuemart_products', 'b'))
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_products_'.$lang_tag, 'e')
                    ." ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('e.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_ratings', 'f').
                    " ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('f.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__virtuemart_product_prices', 'g')
                    ." ON ".$db->quoteName('b.virtuemart_product_id')
                    ."=".$db->quoteName('g.virtuemart_product_id')
                )
                ->join(
                    'LEFT',
                    $db->quoteName('#__marketplace_favourite_products', 'x')
                    ." ON ".$db->quoteName('b.virtuemart_product_id').
                    "=".$db->quoteName('x.product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_product_medias', 'vpm').
                    " ON ".$db->quoteName('vpm.virtuemart_product_id').
                    "=".$db->quoteName('b.virtuemart_product_id')
                )
                ->join(
                    "LEFT",
                    $db->quoteName('#__virtuemart_medias', 'vm')." ON "
                    .$db->quoteName('vm.virtuemart_media_id')
                    ."=".$db->quoteName('vpm.virtuemart_media_id')
                )
                ->where(
                    $db->quoteName('b.created_by')."=".$db->quote($seller_id)
                    ." AND ".$db->quoteName('x.id')." IS NOT NULL"
                )
                ->where($db->quoteName('b.published')."=1");
            if (!$total) {
                $query->group($db->quoteName('b.virtuemart_product_id'));
            } else {
                $query->group($db->quoteName('x.id'));
            }
            $query->order($db->quoteName('x.product_id'));
            if ($total) {
                $db->setQuery($query);
            } else {
                $db->setQuery($query, $lazy_start, $lazy_limit);
            }
            try{
                return $db->loadObjectList();
            }catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
                return false;
            }
        }
        /**
         * CheckFevorite function
         *
         * @param [type] $virtuemart_product_id var
         * @param [type] $buyer_id              var
         * 
         * @return void
         */
        function checkFevorite($virtuemart_product_id,$buyer_id)
        {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $query->select('*')
                ->from($db->quoteName('#__marketplace_favourite_products'))
                ->where(
                    $db->quoteName('product_id')."=".
                    $db->quote($virtuemart_product_id)
                )
                ->where($db->quoteName('buyer_id')."=".$db->quote($buyer_id));
            try{
                $db->setQuery($query);
                $db->query();
                return $db->getNumRows();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * AddFevorite function
         *
         * @param [type] $virtuemart_product_id var
         * @param [type] $buyer_id              var
         * @param [type] $seller_id             var
         * 
         * @return void
         */
        function addFevorite($virtuemart_product_id,$buyer_id,$seller_id)
        {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $column=array(
                $db->quoteName('product_id'),
                $db->quoteName('seller_id'),
                $db->quoteName('buyer_id')
            );
            $values=array(
                $db->quote($virtuemart_product_id),
                $db->quote($seller_id),$db->quote($buyer_id)
            );
            $query->insert($db->quoteName('#__marketplace_favourite_products'))
                ->columns($column)
                ->values(implode(',', $values));
            try{
                $db->setQuery($query);
                return $db->execute();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * RemoveFevorite function
         *
         * @param [type] $product_id var
         * @param [type] $buyer_id   var
         * 
         * @return void
         */
        function removeFevorite($product_id,$buyer_id)
        {
            $db=$this->_db;
            $query=$db->getQuery(true);
            $query->delete($db->quoteName('#__marketplace_favourite_products'))
                ->where($db->quoteName('product_id')."=".$db->quote($product_id))
                ->where($db->quoteName('buyer_id')."=".$db->quote($buyer_id));
            try{
                $db->setQuery($query);
                return $db->execute();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
        /**
         * Makereview function
         *
         * @param [type] $data var
         * @param [type] $sts  var
         * @param [type] $t    var
         * 
         * @return void
         */
        function makereview($data,$sts,$t)
        {
            $inputInstace=JFilterInput::getInstance();
            $revName=$inputInstace->clean($data['rev_name'], 'STR');
            $revSum=$inputInstace->clean($data['rev_sum'], 'STR');
            $revRev=$inputInstace->clean($data['rev_rev'], 'STR');
            $db=$this->_db;
            $query=$db->getQuery(true);
            $columns=array(
                $db->quoteName('buyer_id'),
                $db->quoteName('buyer_email'),
                $db->quoteName('status'),
                $db->quoteName('seller_id'),
                $db->quoteName('feed_price'),
                $db->quoteName('feed_value'),
                $db->quoteName('feed_quality'),
                $db->quoteName('feed_nickname'),
                $db->quoteName('feed_summary'),
                $db->quoteName('feed_review'),
                $db->quoteName('create_date')
            );
            $values=array(
                $db->quote($data['user_id']),
                $db->quote($data['user_email']),
                $db->quote($sts),
                $db->quote($data['seller_id']),
                $db->quote($data['price_rate']),
                $db->quote($data['value_rate']),
                $db->quote($data['quality_rate']),
                $db->quote($revName),$db->quote($revSum),
                $db->quote($revRev),
                $db->quote($t)
            );
            $query->insert($db->quoteName('#__marketplace_feedback'))
                ->columns($columns)
                ->values(implode(',', $values));
            $db->setQuery($query);
            try{
                return $db->execute();
            }
            catch(Exception $e){
                JFactory::getApplication()->enqueueMessage(
                    $e->getMessage(),
                    'error'
                );
            }
        }
    }
}
?>