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/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'
            );
        }
    }
}