Your IP : 216.73.216.231


Current Path : /home/digilove/public_html/components/com_marketplace/
Upload File :
Current File : /home/digilove/public_html/components/com_marketplace/router.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
 * ******************************************************************
 */
defined('_JEXEC') or die;
/**
 * MarketplaceRouter 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 MarketplaceRouter extends JComponentRouterBase
{
    /**
     * Build function to build Sef Marketplace
     *
     * @param [str] $query var
     * 
     * @return void
     */
    public function build(&$query)
    {
        $segments = array();
        $view     = null;
        if (isset($query['view'])) {
            $segments[] = $query['view'];
            $view = $query['view'];
            unset($query['view']);
        }
        if (isset($query['task'])) {
            if (isset($query['view'])&& $view!="orderhistory") {
                $taskParts  = explode('.', $query['task']);
                $segments[] = implode('/', $taskParts);
                $view       = $taskParts[0];
                unset($query['task']);
            }
        }
        if (isset($query['mode'])) {
            $segments[] =$query['mode'];
            unset($query['mode']);
        }
        if (isset($query['id'])) {
            if ($view !== null) {
                $segments[] = $query['id'];
            } else {
                $segments[] = $query['id'];
            }
            unset($query['id']);
        }
        if (isset($query['virtuemart_order_id'])
            && isset($query['layout'])
            && $query['layout']=="orderdata"
            && $view=="orderhistory"
        ) {
            $segments[] =$query['layout'];
            unset($query['layout']);
            $segments[] =$query['task'];
            unset($query['task']);
            $segments[] =$query['virtuemart_order_id'];
            unset($query['virtuemart_order_id']);
            if (isset($query['item_id'])) {
                $segments[] =$query['item_id'];
                unset($query['item_id']);
            }
        }
        if (isset($query['sel_id'])) {
            if ($view =='follow') {
                $segments[] =$query['sel_id'];
                unset($query['sel_id']);
            }
        }
        if (isset($query['seller_id'])) {
            if ($view =='sellerprofile' || $view='productlist'||$view =='category') {
                $segments[]=$query['seller_id'];
                unset($query['seller_id']);
                if (isset($query['category_id'])) {
                    $segments[]=$query['category_id'];
                    unset($query['category_id']);
                }
            }
        }
        if (isset($query['virtuemart_product_id'])) {
            if ($view =='addproduct') {
                $segments[] =$query['virtuemart_product_id'];
                unset($query['virtuemart_product_id']);
            }
        }
        return $segments;
    }
    /**
     * Parse function to map sef url to proper views
     *
     * @param [array] $segments var
     * 
     * @return void
     */
    public function parse(&$segments)
    {
        $vars = array();
        $vars['view'] = array_shift($segments);
        $segmentwk=$segments;
        while (!empty($segments)) {
            $segment = array_pop($segments);
            if (is_numeric($segment)) {
                $vars['virtuemart_product_id']=$segment;
                if ($vars['view']=='productlist'&&isset($segmentwk[1])) {
                    $vars['seller_id']=$segmentwk[1];
                } elseif ($vars['view']=='productlist'&&!isset($segmentwk[1])) {
                    $vars['seller_id']=$segmentwk[0];
                }
                if ($vars['view']=='sellerprofile' ||$vars['view']=='category') {
                    if (!is_numeric($segmentwk[0])) {
                        $vars['seller_id']=$segmentwk[1];
                    } elseif (is_numeric($segmentwk[0])) {
                        $vars['seller_id']=$segmentwk[0];
                    }
                    if ($vars['view']=='category' && !is_numeric($segmentwk[0])) {
                        $vars['category_id']=$segmentwk[2];
                    } elseif ($vars['view']=='category'
                        && is_numeric($segmentwk[0])
                    ) {
                        $vars['category_id']=$segmentwk[1];
                    }
                }
            } else {
                $vars['mode'] = $segment;
                $vars['layout']=$segment;
                $vars['task'] = $vars['view'] . '.' . $segment;
            }
        }
        if ($vars['view']=='orderhistory'
            && isset($vars['layout'])&& $vars['layout']=='orderdata'
        ) {
            $vars['task']=$segmentwk[1];
            $vars['virtuemart_order_id']=$segmentwk[2];
            $vars['item_id']=$segmentwk[3];
        }

        if ($vars['view']=='follow'&& isset($segmentwk[0])) {
            $vars['sel_id']=$segmentwk[0];
        }
        return $vars;
    }
}