| Current Path : /home/digilove/public_html/components/com_marketplace/models/ |
| 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'
);
}
}
}
}
?>