Back to PhocaGalleryVirtueMart class

Method getVmLink

public static
(mixed $id, mixed &$errorMsg)

Method getVmLink - Source code

public static function getVmLink($id, &$errorMsg)
{
    if (ComponentHelper::isEnabled('com_virtuemart', true)) {
        if ((int) $id < 1) {
            return "";
        }
    } else {
        return "";
    }
    $db = Factory::getDBO();
    $query = 'SELECT c.virtuemart_category_id AS catid, a.virtuemart_product_id AS id, a.published AS published, a.product_in_stock AS product_in_stock' . ' FROM #__virtuemart_product_categories AS c' . ' LEFT JOIN #__virtuemart_products AS a ON a.virtuemart_product_id = c.virtuemart_product_id' . ' WHERE c.virtuemart_product_id = ' . (int) $id;
    $db->setQuery($query, 0, 1);
    $product = $db->loadObject();
    $catPart = '';
    if (!empty($product->catid)) {
        $catPart = '&virtuemart_category_id=' . $product->catid;
    }
    $itemId = PhocaGalleryVirtueMart::_getVmItemid();
    $link = 'index.php?option=com_virtuemart&view=productdetails' . '&virtuemart_product_id=' . (int) $id . $catPart . '&itemId=' . (int) $itemId;
    // Check PUBLISHED
    if (isset($product->published) && $product->published == 0) {
        $errorMsg = 'VirtueMart Product Not Published';
        return '';
        //don't display cart icon for unpublished product
    }
    // Check Stock if check stock feature is enabled
    //$component			=	'com_virtuemart';
    //$paramsC			= JComponentHelper::getParams($component) ;
    if (is_file(JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/config.php')) {
        require_once JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/config.php';
        VmConfig::loadConfig();
        if (VmConfig::get('check_stock', 0) == 1) {
            // Check STOCK
            if (isset($product->product_in_stock) && $product->product_in_stock == 0) {
                $errorMsg = 'VirtueMart Product Not On Stock';
                return '';
                //don't display cart icon for non stock products
            }
        }
    } else {
        $errorMsg = 'VirtueMart Config Not Found';
        return false;
    }
    return $link;
}