| Current Path : /home/digilove/public_html/components/com_marketplace/models/ |
| Current File : /home/digilove/public_html/components/com_marketplace/models/follow.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.modellist');
/**
* Marketplace Model Follow 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 MarketplaceModelFollow extends JModelLegacy
{
/**
* __construct function
*
* @param array $config var
*/
public function __construct($config = array())
{
parent::__construct($config);
}
/**
* Get Follower function
*
* @param integer $seller_id var
* @param string $search var
* @param integer $start var
* @param integer $limit var
*
* @return void
*/
function getFollower($seller_id, $search='', $start=0, $limit=5)
{
$db=$this->_db;
$query=$db->getQuery(true);
$query->select('a.*')
->select($db->quoteName('b.name'))
->from($db->quoteName('#__marketplace_seller_follower', 'a'))
->join(
'LEFT',
$db->quoteName('#__users', 'b')." ON "
.$db->quoteName('a.follower_email').'='
.$db->quoteName('b.email')
)
->where($db->quoteName('a.seller_id')."=".$db->quote($seller_id));
if (trim($search)) {
$query->where(
$db->quoteName('b.name')." LIKE '%".
$search."%' OR ". $db->quoteName('b.email')
." LIKE '%".$search."%'"
);
}
$query->group($db->quoteName('a.follower_email'))
->group($db->quoteName('a.follower_email'))
->order($db->quoteName('a.date_follow')." DESC");
try {
$db->setQuery($query, 0, $start+$limit);
return $db->loadObjectList();
} catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
}
}
/**
* Get Followers function
*
* @param integer $seller_id var
*
* @return void
*/
function getFollowers($seller_id)
{
$db=$this->_db;
$query=$db->getQuery(true);
$query->select('a.*')
->select($db->quoteName('b.name'))
->from($db->quoteName('#__marketplace_seller_follower', 'a'))
->join(
'LEFT',
$db->quoteName('#__users', 'b')." ON "
.$db->quoteName('a.follower_email').
'='.$db->quoteName('b.email')
)
->where($db->quoteName('a.seller_id')."=".$db->quote($seller_id));
$query->group($db->quoteName('a.follower_email'))
->group($db->quoteName('a.follower_email'))
->order($db->quoteName('a.date_follow')." DESC");
try{
$db->setQuery($query);
return $db->loadObjectList();
}
catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
}
}
/**
* Follow function
*
* @param integer $seller_id var
* @param string $search var
*
* @return void
*/
public function follow($seller_id,$search)
{
$date =JFactory::getDate();
$profile = new stdClass();
$profile->seller_id = $seller_id;
$profile->follower_email=$search;
$profile->date_follow=$date->toUnix();
try{
$result = JFactory::getDbo()->insertObject(
'#__marketplace_seller_follower',
$profile
);
}
catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
return $result;
}
/**
* Unfollow function
*
* @param integer $seller_id var
* @param string $search var
*
* @return void
*/
public function unfollow($seller_id,$search)
{
$db=$this->_db;
$query = $db->getQuery(true);
$conditions = array(
$db->quoteName('seller_id') . ' = '.$db->quote($seller_id) ,
$db->quoteName('follower_email') . ' = \''.$search .'\''
);
$query->delete($db->quoteName('#__marketplace_seller_follower'));
$query->where($conditions);
$db->setQuery($query);
try{
$result = $db->execute();
}
catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
return $result;
}
/**
* Check Follower function
*
* @param integer $seller_id var
* @param string $search var
*
* @return void
*/
public function checkFollower($seller_id,$search)
{
$db=$this->_db;
$query=$db->getQuery(true);
$query->select($db->quoteName('follower_email'))
->from($db->quoteName('#__marketplace_seller_follower', 'a'))
->where($db->quoteName('follower_email')."=".$db->quote($search))
->where($db->quoteName('seller_id')."=".$db->quote($seller_id));
try{
$db->setQuery($query);
$db->execute();
return $db->getNumRows();
} catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
}
}
}