Example #1
0
 function traverse_tree_down(&$mymenu_content, $category_id = '0', $level = '0')
 {
     static $ibg = 0;
     global $db, $mosConfig_live_site;
     $db = new ps_DB();
     $level++;
     $query = "SELECT category_name as cname, category_id as cid, category_child_id as ccid " . "FROM #__{vm}_category as a, #__{vm}_category_xref as b " . "WHERE a.category_publish='Y' AND " . " b.category_parent_id='{$category_id}' AND a.category_id=b.category_child_id " . "ORDER BY category_parent_id, list_order, category_name ASC";
     $db->query($query);
     $categories = $db->record;
     if (!($categories == null)) {
         $i = 1;
         $numCategories = count($categories);
         foreach ($categories as $category) {
             $ibg++;
             $Treeid = $ibg;
             $itemid = isset($_REQUEST['Itemid']) ? '&Itemid=' . intval($_REQUEST['Itemid']) : "";
             $mymenu_content .= str_repeat("\t", $level - 1);
             if ($level > 1 && $i == 1) {
                 $mymenu_content .= ",";
             }
             $mymenu_content .= "['" . $category->cname;
             $mymenu_content .= "','href=\\'" . sefRelToAbs('index.php?option=com_virtuemart&page=shop.browse&category_id=' . $category->cid . '&Treeid=' . $Treeid . $itemid) . "\\''\n ";
             /* recurse through the subcategories */
             $this->traverse_tree_down($mymenu_content, $category->ccid, $level);
             $mymenu_content .= str_repeat("\t", $level - 1);
             /* let's see if the loop has reached its end */
             if ($i == sizeof($categories) && $level == 1) {
                 $mymenu_content .= "]\n";
             } else {
                 $mymenu_content .= "],\n";
             }
             $i++;
         }
     }
 }
Example #2
0
function authUser($acc, $pwd)
{
    if ($acc && $pwd) {
        $db = new ps_DB();
        $pwd = md5($pwd);
        $sql = "select ID, name, authority from account where username='******' and password='******' ";
        $db->query($sql);
        if ($db->next_record()) {
            return $db->f('ID');
        } else {
            return 0;
        }
    } else {
        return 0;
    }
}
 /**
  * add a Product into a Product Type
  * @author Zdenek Dvorak
  *
  * @param array $d
  * @return boolean
  */
 function add(&$d)
 {
     global $VM_LANG;
     $db = new ps_DB();
     if ($this->validate_add($d)) {
         $q = "INSERT INTO #__{vm}_product_product_type_xref (product_id, product_type_id) ";
         $q .= "VALUES ('" . $d["product_id"] . "','" . $d["product_type_id"] . "')";
         $db->query($q);
         $q = "INSERT INTO #__{vm}_product_type_" . $d["product_type_id"] . " (product_id) ";
         $q .= "VALUES ('" . $d["product_id"] . "')";
         $db->query($q);
         $GLOBALS['vmLogger']->info($VM_LANG->_('VM_PRODUCT_PRODUCT_TYPE_ASSIGNED'));
         return true;
     } else {
         return False;
     }
 }
Example #4
0
 function traverse_tree_down(&$mymenu_content, $category_id = '0', $level = '0')
 {
     static $ibg = 0;
     global $mosConfig_live_site, $sess;
     $level++;
     $query = "SELECT category_name, category_id, category_child_id " . "FROM #__{vm}_category as a, #__{vm}_category_xref as b " . "WHERE a.category_publish='Y' AND " . " b.category_parent_id='{$category_id}' AND a.category_id=b.category_child_id " . "ORDER BY category_parent_id, list_order, category_name ASC";
     $db = new ps_DB();
     $db->query($query);
     while ($db->next_record()) {
         $itemid = '&Itemid=' . $sess->getShopItemid();
         if ($ibg != 0) {
             $mymenu_content .= ",";
         }
         $mymenu_content .= "\n[ '<img src=\"' + ctThemeXPBase + 'darrow.png\" alt=\"arr\" />','" . $db->f("category_name", false) . "','" . sefRelToAbs('index.php?option=com_virtuemart&page=shop.browse&category_id=' . $db->f("category_id") . $itemid) . "',null,'" . $db->f("category_name", false) . "'\n ";
         $ibg++;
         /* recurse through the subcategories */
         $this->traverse_tree_down($mymenu_content, $db->f("category_child_id"), $level);
         /* let's see if the loop has reached its end */
         $mymenu_content .= "]";
     }
 }
* @ modified by soeren
* @ Uses dTree Javascript: http://www.destroydrop.com/javascripts/tree/
* @ version $Id: mod_dtreemenu.php
*
* This file is included by the virtuemart module if the module parameter
* MenuType is set to treemenu
**/
global $root_label, $sess, $db, $mosConfig_live_site, $mm_action_url;
if (vmIsJoomla('1.5')) {
    $js_src = $mosConfig_live_site . '/modules/mod_virtuemart';
} else {
    $js_src = $mosConfig_live_site . '/modules';
}
$Itemid = vmRequest::getInt('Itemid');
if (@get_class($db) != 'ps_DB') {
    $db = new ps_DB();
}
require_once CLASSPATH . "ps_product_category.php";
$ps_product_category = new ps_product_category();
/*********************************************************
************* CATEGORY TREE ******************************
*/
/* dTree API, default value
 * change to fit your needs **/
$useSelection = 'true';
$useLines = 'true';
$useIcons = 'true';
$useStatusText = 'false';
$useCookies = 'false';
$closeSameLevel = 'false';
// if all folders should be open, we will ignore the closeSameLevel
    /**
     * Show all configuration parameters for this payment method
     * @returns boolean False when the Payment method has no configration
     */
    function show_configuration()
    {
        global $VM_LANG;
        $database = new ps_DB();
        /** Read current Configuration ***/
        require_once CLASSPATH . "payment/" . $this->classname . ".cfg.php";
        ?>
      <table>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_LOGIN');
        ?>
</strong></td>
            <td>
                <input type="text" name="TWOCO_LOGIN" class="inputbox" value="<?php 
        echo TWOCO_LOGIN;
        ?>
" />
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_LOGIN_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_SECRETWORD');
        ?>
</strong></td>
            <td>
                <input type="text" name="TWOCO_SECRETWORD" class="inputbox" value="<?php 
        echo TWOCO_SECRETWORD;
        ?>
" />
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_SECRETWORD_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_SUCC');
        ?>
</strong></td>
            <td>
                <select name="TWOCO_VERIFIED_STATUS" class="inputbox" >
                <?php 
        $q = "SELECT order_status_name,order_status_code FROM #__{vm}_order_status ORDER BY list_order";
        $database->query($q);
        $rows = $database->record;
        $order_status_code = array();
        $order_status_name = array();
        foreach ($rows as $row) {
            $order_status_code[] = $row->order_status_code;
            $order_status_name[] = $row->order_status_name;
        }
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (TWOCO_VERIFIED_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_SUCC_EXPLAIN');
        ?>
            </td>
        </tr>
            <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_FAIL');
        ?>
</strong></td>
            <td>
                <select name="TWOCO_INVALID_STATUS" class="inputbox" >
                <?php 
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (TWOCO_INVALID_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_FAIL_EXPLAIN');
        ?>
            </td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_MERCHANT_NOTIF');
        ?>
</strong></td>
            <td>
                <select name="TWOCO_MERCHANT_EMAIL" class="inputbox" >
                  <option <?php 
        if (TWOCO_MERCHANT_EMAIL == 'True') {
            echo "selected=\"selected\"";
        }
        ?>
 value="True"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_YES');
        ?>
</option>
                  <option <?php 
        if (TWOCO_MERCHANT_EMAIL == 'False') {
            echo "selected=\"selected\"";
        }
        ?>
 value="False"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_NO');
        ?>
</option>
                </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_2CHECKOUT_MERCHANT_NOTIF_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_ENABLE_AUTORIZENET_TESTMODE');
        ?>
</strong></td>
            <td>
                <select name="TWOCO_TESTMODE" class="inputbox" >
                  <option <?php 
        if (TWOCO_TESTMODE == 'Y') {
            echo "selected=\"selected\"";
        }
        ?>
 value="Y"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_YES');
        ?>
</option>
                  <option <?php 
        if (TWOCO_TESTMODE == 'N') {
            echo "selected=\"selected\"";
        }
        ?>
 value="N"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_NO');
        ?>
</option>
                </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_ENABLE_AUTORIZENET_TESTMODE_EXPLAIN');
        ?>
</td>
        </tr>
      </table>
   <?php 
        // return false if there's no configuration
        return true;
    }
    /**
     * Show all configuration parameters for this payment method
     * @returns boolean False when the Payment method has no configration
     */
    function show_configuration()
    {
        global $VM_LANG;
        $db = new ps_DB();
        /** Read current Configuration ***/
        require_once CLASSPATH . "payment/" . $this->classname . ".cfg.php";
        ?>
      <table>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PN_LOGIN');
        ?>
</strong></td>
            <td>
                <input type="text" name="PN_LOGIN" class="inputbox" value="<?php 
        echo PN_LOGIN;
        ?>
" />
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PN_LOGIN_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_PAYMENT_CVV2');
        ?>
</strong></td>
            <td>
                <select name="PN_CHECK_CARD_CODE" class="inputbox">
                <option <?php 
        if (PN_CHECK_CARD_CODE == 'YES') {
            echo "selected=\"selected\"";
        }
        ?>
 value="YES">
                <?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_YES');
        ?>
</option>
                <option <?php 
        if (PN_CHECK_CARD_CODE == 'NO') {
            echo "selected=\"selected\"";
        }
        ?>
 value="NO">
                <?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_NO');
        ?>
</option>
                </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_PAYMENT_CVV2_TOOLTIP');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_SUCC');
        ?>
</strong></td>
            <td>
                <select name="PN_VERIFIED_STATUS" class="inputbox" >
                <?php 
        $q = "SELECT order_status_name,order_status_code FROM #__{vm}_order_status ORDER BY list_order";
        $db->query($q);
        $order_status_code = array();
        $order_status_name = array();
        while ($db->next_record()) {
            $order_status_code[] = $db->f("order_status_code");
            $order_status_name[] = $db->f("order_status_name");
        }
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (PN_VERIFIED_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_SUCC_EXPLAIN');
        ?>
</td>
        </tr>
            <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_FAIL');
        ?>
</strong></td>
            <td>
                <select name="PN_INVALID_STATUS" class="inputbox" >
                <?php 
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (PN_INVALID_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYMENT_ORDERSTATUS_FAIL_EXPLAIN');
        ?>
</td>
        </tr>
      </table>
   <?php 
        // return false if there's no configuration
        return true;
    }
 // Set the internal VirtueMart pathway
 $tpl->set('pathway', $pathway);
 $vmPathway = $tpl->fetch('common/pathway.tpl.php');
 $tpl->set('vmPathway', $vmPathway);
 // Get bill_to information
 $dbbt = new ps_DB();
 $q = "SELECT * FROM `#__{vm}_order_user_info` WHERE order_id='" . $db->f("order_id") . "' ORDER BY address_type ASC";
 $dbbt->query($q);
 $dbbt->next_record();
 $old_user = '';
 if (!empty($user) && is_object($user)) {
     $old_user = $user;
 }
 $user = $dbbt->record[0];
 /** Retrieve Payment Info **/
 $dbpm = new ps_DB();
 $q = "SELECT * FROM `#__{vm}_payment_method` p, `#__{vm}_order_payment` op, `#__{vm}_orders` o ";
 $q .= "WHERE op.order_id='{$order_id}' ";
 $q .= "AND p.payment_method_id=op.payment_method_id ";
 $q .= "AND o.user_id='" . $auth["user_id"] . "' ";
 $q .= "AND o.order_id='{$order_id}' ";
 $dbpm->query($q);
 $dbpm->next_record();
 $registrationfields = ps_userfield::getUserFields('registration', false, '', true, true);
 $shippingfields = ps_userfield::getUserFields('shipping', false, '', true, true);
 $tpl->set('db', $db);
 $tpl->set('dbbt', $dbbt);
 $tpl->set('dbpm', $dbpm);
 $tpl->set('user', $user);
 $tpl->set('order_id', $order_id);
 $tpl->set('registrationfields', $registrationfields);
Example #9
0
 /**
  */
 function mail_question(&$d)
 {
     global $vmLogger, $Itemid, $_SESSION, $VM_LANG, $mosConfig_live_site, $mosConfig_lang, $sess;
     $db = new ps_DB();
     $product_id = (int) $d["product_id"];
     $q = 'SELECT * FROM #__{vm}_product WHERE product_id=' . $product_id . ' AND product_publish=\'Y\'';
     $db->query($q);
     if (!$db->next_record()) {
         $vmLogger->err($VM_LANG->_('NOT_AUTH', false));
         return false;
     }
     if ($db->f("product_sku") != @$d["product_sku"]) {
         $vmLogger->err($VM_LANG->_('NOT_AUTH', false));
         return false;
     }
     $Itemid = $sess->getShopItemid();
     $flypage = vmGet($_REQUEST, "flypage", null);
     // product url
     $product_url = $mosConfig_live_site . "/index.php?option=com_virtuemart&page=shop.product_details&flypage=" . urlencode($flypage) . "&product_id={$product_id}&Itemid={$Itemid}";
     $dbv = new ps_DB();
     $qt = "SELECT * from #__{vm}_vendor ";
     $qt .= "WHERE vendor_id = '" . $_SESSION['ps_vendor_id'] . "'";
     $dbv->query($qt);
     $dbv->next_record();
     $vendor_email = $dbv->f("contact_email");
     $shopper_email = $d["email"];
     $shopper_name = $d["name"];
     $subject_msg = vmRequest::getVar('text', '', 'post');
     $shopper_subject = sprintf($VM_LANG->_('VM_ENQUIRY_SHOPPER_EMAIL_SUBJECT'), $dbv->f("vendor_name"));
     $shopper_msg = str_replace('{vendor_name}', $dbv->f("vendor_name"), $VM_LANG->_('VM_ENQUIRY_SHOPPER_EMAIL_MESSAGE'));
     $shopper_msg = str_replace('{product_name}', $db->f("product_name"), $shopper_msg);
     $shopper_msg = str_replace('{product_sku}', $db->f("product_sku"), $shopper_msg);
     $shopper_msg = str_replace('{product_url}', $product_url, $shopper_msg);
     $shopper_msg = vmHtmlEntityDecode($shopper_msg);
     //
     $vendor_subject = sprintf($VM_LANG->_('VM_ENQUIRY_VENDOR_EMAIL_SUBJECT'), $dbv->f("vendor_name"), $db->f("product_name"));
     $vendor_msg = str_replace('{shopper_name}', $shopper_name, $VM_LANG->_('VM_ENQUIRY_VENDOR_EMAIL_MESSAGE'));
     $vendor_msg = str_replace('{shopper_message}', $subject_msg, $vendor_msg);
     $vendor_msg = str_replace('{shopper_email}', $shopper_email, $vendor_msg);
     $vendor_msg = str_replace('{product_name}', $db->f("product_name"), $vendor_msg);
     $vendor_msg = str_replace('{product_sku}', $db->f("product_sku"), $vendor_msg);
     $vendor_msg = str_replace('{product_url}', $product_url, $vendor_msg);
     $vendor_msg = vmHtmlEntityDecode($vendor_msg);
     //END: set up text mail
     /////////////////////////////////////
     // Send text email
     //
     if (ORDER_MAIL_HTML == '0') {
         // Mail receipt to the shopper
         vmMail($vendor_email, $dbv->f("vendor_name"), $shopper_email, $shopper_subject, $shopper_msg, "");
         // Mail receipt to the vendor
         vmMail($shopper_email, $shopper_name, $vendor_email, $vendor_subject, $vendor_msg, "");
     } elseif (ORDER_MAIL_HTML == '1') {
         // Mail receipt to the vendor
         $template = vmTemplate::getInstance();
         $template->set_vars(array('vendorname' => $dbv->f("vendor_name"), 'subject' => nl2br($subject_msg), 'contact_name' => $shopper_name, 'contact_email' => $shopper_email, 'product_name' => $db->f("product_name"), 'product_s_description' => $db->f("product_s_desc"), 'product_url' => $product_url, 'product_sku' => $db->f("product_sku")));
         if ($db->f("product_thumb_image")) {
             $imagefile = pathinfo($db->f("product_thumb_image"));
             $extension = $imagefile['extension'] == "jpg" ? "jpeg" : "jpeg";
             $EmbeddedImages[] = array('path' => IMAGEPATH . "product/" . $db->f("product_thumb_image"), 'name' => "product_image", 'filename' => $db->f("product_thumb_image"), 'encoding' => "base64", 'mimetype' => "image/" . $extension);
             $template->set('product_thumb', '<img src="cid:product_image" alt="product_image" border="0" />');
             $body = $template->fetch('order_emails/enquiry_email.tpl.php');
             $vendor_mail = vmMail($shopper_email, $shopper_name, $vendor_email, $vendor_subject, $body, $vendor_msg, true, null, null, $EmbeddedImages);
         } else {
             $template->set('product_thumb', '');
             $body = $template->fetch('order_emails/enquiry_email.tpl.php');
             $vendor_mail = vmMail($shopper_email, $shopper_name, $vendor_email, $vendor_subject, $body, $vendor_msg, true, null, null, null);
         }
         //Send sender confirmation email
         $sender_mail = vmMail($vendor_email, $dbv->f("vendor_name"), $shopper_email, $shopper_subject, $shopper_msg, "");
         if (!$vendor_mail || !$sender_mail) {
             $vmLogger->debug('Something went wrong while sending the enquiry email to ' . $vendor_email . ' and ' . $shopper_email);
             return false;
         }
     }
     return true;
 }
echo '<br />';

$varname = 'PHPSHOP_CHECKOUT_MSG_' . CHECK_OUT_GET_FINAL_CONFIRMATION;
echo '<h5>'. $VM_LANG->_($varname) . '</h5>';
$db = new ps_DB();

echo '<table>';
// Begin with Shipping Address
if(!ps_checkout::noShipToNecessary()) {

	$db->query("SELECT * FROM #__{vm}_user_info WHERE user_info_id='".strip_tags($_REQUEST['ship_to_info_id'])."'");
	$db->next_record();

	echo '<tr><td valign="top"><strong>'.$VM_LANG->_('PHPSHOP_ADD_SHIPTO_2') . ":</strong></td>";
	echo '<td>';
	$dbs = new ps_DB();
	$q = "SELECT * FROM #__{vm}_country WHERE country_3_code='".$db->f("country")."'";
	$dbs->query($q);
	$country_id = $dbs->f("country_id");
	$q = "SELECT * FROM #__{vm}_state WHERE country_id=".$country_id." AND state_2_code='".$db->f("state")."'";
	$dbs->query($q);
	$state_name = $dbs->f("state_name");
	echo vmFormatAddress( array('name' => $db->f("first_name")." ".$db->f("last_name"),
        								'address_1' => $db->f("address_1"),
        								'address_2' => $db->f("address_2"),
        								'state' => $db->f("state"),
        								'state_name' => $state_name,
        								'zip' => $db->f("zip"),
        								'city' => $db->f("city"),
        								'country' => $db->f('country')
        							), true );
Example #11
0
    /**
     * Show all configuration parameters for this payment method
     * @returns boolean False when the Payment method has no configration
     */
    function show_configuration()
    {
        global $VM_LANG, $mosConfig_live_site;
        $db = new ps_DB();
        /** Read current Configuration ***/
        require_once CLASSPATH . "payment/" . __CLASS__ . ".cfg.php";
        ?>
    
			<table style="text-align: left;">
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MERCHANTNUMBER');
        ?>
</strong></td>
            <td>
                <input type="text" name="EPAY_MERCHANTNUMBER" class="inputbox" value="<?php 
        echo EPAY_MERCHANTNUMBER;
        ?>
" />
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MERCHANTNUMBER_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYPAL_STATUS_SUCCESS');
        ?>
</strong></td>
            <td>
                <select name="EPAY_VERIFIED_STATUS" class="inputbox" >
                <?php 
        $q = "SELECT order_status_name,order_status_code FROM #__{vm}_order_status where order_status_code != 'P' ORDER BY list_order";
        $db->query($q);
        $order_status_code = array();
        $order_status_name = array();
        while ($db->next_record()) {
            $order_status_code[] = $db->f("order_status_code");
            $order_status_name[] = $db->f("order_status_name");
        }
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (EPAY_VERIFIED_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYPAL_STATUS_SUCCESS_EXPLAIN');
        ?>
            </td>
        </tr>
            <tr>
            <td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYPAL_STATUS_FAILED');
        ?>
</strong></td>
            <td>
                <select name="EPAY_INVALID_STATUS" class="inputbox" >
                <?php 
        $q = "SELECT order_status_name,order_status_code FROM #__{vm}_order_status ORDER BY list_order";
        $db->query($q);
        $order_status_code = array();
        $order_status_name = array();
        while ($db->next_record()) {
            $order_status_code[] = $db->f("order_status_code");
            $order_status_name[] = $db->f("order_status_name");
        }
        for ($i = 0; $i < sizeof($order_status_code); $i++) {
            echo "<option value=\"" . $order_status_code[$i];
            if (EPAY_INVALID_STATUS == $order_status_code[$i]) {
                echo "\" selected=\"selected\">";
            } else {
                echo "\">";
            }
            echo $order_status_name[$i] . "</option>\n";
        }
        ?>
                    </select>
            </td>
            <td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_PAYPAL_STATUS_FAILED_EXPLAIN');
        ?>
</td>
        </tr>
        <script language="JavaScript">
          function enableDisableAll() {
            if (document.all.EPAY_CARDTYPES_0.checked) {
              document.all.EPAY_CARDTYPES_1.disabled = true;
              document.all.EPAY_CARDTYPES_2.disabled = true;
              document.all.EPAY_CARDTYPES_3.disabled = true;
              document.all.EPAY_CARDTYPES_4.disabled = true;
              document.all.EPAY_CARDTYPES_5.disabled = true;
              document.all.EPAY_CARDTYPES_6.disabled = true;
              document.all.EPAY_CARDTYPES_7.disabled = true;
              document.all.EPAY_CARDTYPES_8.disabled = true;
              document.all.EPAY_CARDTYPES_9.disabled = true;
              document.all.EPAY_CARDTYPES_10.disabled = true;
              document.all.EPAY_CARDTYPES_12.disabled = true;
              document.all.EPAY_CARDTYPES_13.disabled = true;
              document.all.EPAY_CARDTYPES_14.disabled = true;
              document.all.EPAY_CARDTYPES_15.disabled = true;
              document.all.EPAY_CARDTYPES_16.disabled = true;
              document.all.EPAY_CARDTYPES_17.disabled = true;
              document.all.EPAY_CARDTYPES_18.disabled = true;
              document.all.EPAY_CARDTYPES_19.disabled = true;
              document.all.EPAY_CARDTYPES_21.disabled = true;
              document.all.EPAY_CARDTYPES_22.disabled = true;
            } else {
              document.all.EPAY_CARDTYPES_1.disabled = false;
              document.all.EPAY_CARDTYPES_2.disabled = false;
              document.all.EPAY_CARDTYPES_3.disabled = false;
              document.all.EPAY_CARDTYPES_4.disabled = false;
              document.all.EPAY_CARDTYPES_5.disabled = false;
              document.all.EPAY_CARDTYPES_6.disabled = false;
              document.all.EPAY_CARDTYPES_7.disabled = false;
              document.all.EPAY_CARDTYPES_8.disabled = false;
              document.all.EPAY_CARDTYPES_9.disabled = false;
              document.all.EPAY_CARDTYPES_10.disabled = false;
              document.all.EPAY_CARDTYPES_12.disabled = false;
              document.all.EPAY_CARDTYPES_13.disabled = false;
              document.all.EPAY_CARDTYPES_14.disabled = false;
              document.all.EPAY_CARDTYPES_15.disabled = false;
              document.all.EPAY_CARDTYPES_16.disabled = false;
              document.all.EPAY_CARDTYPES_17.disabled = false;
              document.all.EPAY_CARDTYPES_18.disabled = false;
              document.all.EPAY_CARDTYPES_19.disabled = false;
              document.all.EPAY_CARDTYPES_21.disabled = false;
              document.all.EPAY_CARDTYPES_22.disabled = false;
            }
          }
        </script>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CARDTYPES');
        ?>
</strong></td>
        	<td>
        	    <input type="checkbox" name="EPAY_CARDTYPES_0" <?php 
        if (EPAY_CARDTYPES_0 == '1') {
            echo "checked";
        }
        ?>
 value="1" onclick="javascript:enableDisableAll();"><?php 
        echo $VM_LANG->_('PHPSHOP_ALL');
        ?>
 <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_1" <?php 
        if (EPAY_CARDTYPES_1 == '1') {
            echo "checked";
        }
        ?>
 value="1">DANKORT <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_2" <?php 
        if (EPAY_CARDTYPES_2 == '1') {
            echo "checked";
        }
        ?>
 value="1">VISA DANKORT <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_3" <?php 
        if (EPAY_CARDTYPES_3 == '1') {
            echo "checked";
        }
        ?>
 value="1">VISA ELECTRON<br>
        			<input type="checkbox" name="EPAY_CARDTYPES_4" <?php 
        if (EPAY_CARDTYPES_4 == '1') {
            echo "checked";
        }
        ?>
 value="1">MASTERCARD (DK) <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_5" <?php 
        if (EPAY_CARDTYPES_5 == '1') {
            echo "checked";
        }
        ?>
 value="1">MASTERCARD <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_6" <?php 
        if (EPAY_CARDTYPES_6 == '1') {
            echo "checked";
        }
        ?>
 value="1">VISA ELECTRON (DK)<br>
        			<input type="checkbox" name="EPAY_CARDTYPES_7" <?php 
        if (EPAY_CARDTYPES_7 == '1') {
            echo "checked";
        }
        ?>
 value="1">JCB <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_8" <?php 
        if (EPAY_CARDTYPES_8 == '1') {
            echo "checked";
        }
        ?>
 value="1">DINERS (DK)<br>
        			<input type="checkbox" name="EPAY_CARDTYPES_9" <?php 
        if (EPAY_CARDTYPES_9 == '1') {
            echo "checked";
        }
        ?>
 value="1">MAESTRO (DK)<br>
        			<input type="checkbox" name="EPAY_CARDTYPES_10" <?php 
        if (EPAY_CARDTYPES_10 == '1') {
            echo "checked";
        }
        ?>
 value="1">AMERICAN EXPRESS (DK)<br>
        			<input type="checkbox" name="EPAY_CARDTYPES_12" <?php 
        if (EPAY_CARDTYPES_12 == '1') {
            echo "checked";
        }
        ?>
 value="1">DINERS <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_13" <?php 
        if (EPAY_CARDTYPES_13 == '1') {
            echo "checked";
        }
        ?>
 value="1">JCB Secure (3D-Secure) <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_14" <?php 
        if (EPAY_CARDTYPES_14 == '1') {
            echo "checked";
        }
        ?>
 value="1">AMERICAN EXPRESS <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_15" <?php 
        if (EPAY_CARDTYPES_15 == '1') {
            echo "checked";
        }
        ?>
 value="1">MAESTRO  <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_16" <?php 
        if (EPAY_CARDTYPES_16 == '1') {
            echo "checked";
        }
        ?>
 value="1">FORBRUGSFORENINGEN <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_17" <?php 
        if (EPAY_CARDTYPES_17 == '1') {
            echo "checked";
        }
        ?>
 value="1">EWIRE <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_18" <?php 
        if (EPAY_CARDTYPES_18 == '1') {
            echo "checked";
        }
        ?>
 value="1">VISA <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_19" <?php 
        if (EPAY_CARDTYPES_19 == '1') {
            echo "checked";
        }
        ?>
 value="1">IKANO <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_21" <?php 
        if (EPAY_CARDTYPES_21 == '1') {
            echo "checked";
        }
        ?>
 value="1">NORDEA <br>
        			<input type="checkbox" name="EPAY_CARDTYPES_22" <?php 
        if (EPAY_CARDTYPES_22 == '1') {
            echo "checked";
        }
        ?>
 value="1">DANSKE BANK <br>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CARDTYPES_EXPLAIN');
        ?>
</td>
        </tr>
        <script language="JavaScript">enableDisableAll();</script>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_LANGUAGE');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_LANGUAGE" class="inputbox">
        			<option <?php 
        if (EPAY_LANGUAGE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1">Danish</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '2') {
            echo "selected=\"selected\"";
        }
        ?>
 value="2">English</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '3') {
            echo "selected=\"selected\"";
        }
        ?>
 value="3">Swedish</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '4') {
            echo "selected=\"selected\"";
        }
        ?>
 value="4">Norwegian</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '5') {
            echo "selected=\"selected\"";
        }
        ?>
 value="5">Greenland</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '6') {
            echo "selected=\"selected\"";
        }
        ?>
 value="6">Icelandic</option>
        			<option <?php 
        if (EPAY_LANGUAGE == '7') {
            echo "selected=\"selected\"";
        }
        ?>
 value="7">German</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_LANGUAGE_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_INSTANT_CAPTURE');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_INSTANT_CAPTURE" class="inputbox">
        			<option <?php 
        if (EPAY_INSTANT_CAPTURE == '0') {
            echo "selected=\"selected\"";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('VM_DISABLED');
        ?>
</option>
        			<option <?php 
        if (EPAY_INSTANT_CAPTURE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('VM_ENABLED');
        ?>
</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_INSTANT_CAPTURE_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_GROUP');
        ?>
</strong></td>
        	<td>
        			<input type="text" name="EPAY_GROUP" class="inputbox" value ="<?php 
        echo EPAY_GROUP;
        ?>
">
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_GROUP_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong>MD5</strong></td>
        	<td>
        			<select name="EPAY_MD5_TYPE" class="inputbox">
        			<option <?php 
        if (EPAY_MD5_TYPE == '0') {
            echo "selected=\"selected\"";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('VM_DISABLED');
        ?>
 (0)</option>
        			<option <?php 
        if (EPAY_MD5_TYPE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MD5_TYPE_1');
        ?>
 (1)</option>
        			<option <?php 
        if (EPAY_MD5_TYPE == '2') {
            echo "selected=\"selected\"";
        }
        ?>
 value="2"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MD5_TYPE_2');
        ?>
 (2)</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MD5_TYPE_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MD5_KEY');
        ?>
</strong></td>
        	<td>
        			<input type="text" name="EPAY_MD5_KEY" class="inputbox" value ="<?php 
        echo EPAY_MD5_KEY;
        ?>
">
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_MD5_KEY_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHSMS');
        ?>
</strong></td>
        	<td>
        			<input type="text" name="EPAY_AUTH_SMS" class="inputbox" value ="<?php 
        echo EPAY_AUTH_SMS;
        ?>
">
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHSMS_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL');
        ?>
</strong></td>
        	<td>
        			<input type="text" name="EPAY_AUTH_MAIL" class="inputbox" value ="<?php 
        echo EPAY_AUTH_MAIL;
        ?>
">
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_WINDOWSTATE');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_WINDOW_STATE" class="inputbox">
        			<option <?php 
        if (EPAY_WINDOW_STATE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_WINDOWSTATE_1');
        ?>
 (1)</option>
        			<option <?php 
        if (EPAY_WINDOW_STATE == '2') {
            echo "selected=\"selected\"";
        }
        ?>
 value="2"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_WINDOWSTATE_2');
        ?>
 (2)</option>
        			</select>
        	</td>
        	<td>&nbsp;</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_3DSECURE');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_3DSECURE" class="inputbox">
        			<option <?php 
        if (EPAY_3DSECURE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_3DSECURE_1');
        ?>
 (1)</option>
        			<option <?php 
        if (EPAY_3DSECURE == '2') {
            echo "selected=\"selected\"";
        }
        ?>
 value="2"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_3DSECURE_2');
        ?>
 (2)</option>
        			<option <?php 
        if (EPAY_3DSECURE == '3') {
            echo "selected=\"selected\"";
        }
        ?>
 value="3"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_3DSECURE_3');
        ?>
 (3)</option>
        			</select>
        	</td>
        	<td>&nbsp;</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CALLBACK');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_CALLBACK" class="inputbox">
        			<option <?php 
        if (EPAY_CALLBACK == '0') {
            echo "selected";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CALLBACK_0');
        ?>
 (0)</option>
        			<option <?php 
        if (EPAY_CALLBACK == '1') {
            echo "selected";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CALLBACK_1');
        ?>
 (1)</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_CALLBACK_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_ADDFEE');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_ADDFEE" class="inputbox">
        			<option <?php 
        if (EPAY_ADDFEE == '0') {
            echo "selected=\"selected\"";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_ADDFEE_0');
        ?>
 (0)</option>
        			<option <?php 
        if (EPAY_ADDFEE == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_ADDFEE_1');
        ?>
 (1)</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_ADDFEE_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_SUBSCRIPTION');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_SUBSCRIPTION" class="inputbox">
        			<option <?php 
        if (EPAY_SUBSCRIPTION == '0') {
            echo "selected=\"selected\"";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_SUBSCRIPTION_0');
        ?>
 (0)</option>
        			<option <?php 
        if (EPAY_SUBSCRIPTION == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_SUBSCRIPTION_1');
        ?>
 (1)</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_SUBSCRIPTION_EXPLAIN');
        ?>
</td>
        </tr>
        <tr>
        	<td><strong><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL');
        ?>
</strong></td>
        	<td>
        			<select name="EPAY_AUTHEMAILCUSTOMER" class="inputbox">
        			<option <?php 
        if (EPAY_AUTHEMAILCUSTOMER == '1') {
            echo "selected=\"selected\"";
        }
        ?>
 value="1"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL_1');
        ?>
 (1)</option>
        			<option <?php 
        if (EPAY_AUTHEMAILCUSTOMER == '0') {
            echo "selected=\"selected\"";
        }
        ?>
 value="0"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL_0');
        ?>
 (0)</option>
        			</select>
        	</td>
        	<td><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_AUTHEMAIL_EXPLAIN');
        ?>
</td>
        </tr>
        
      </table>
      
      <script language="JavaScript">
      		function resetExtraInfo()
      		{
      			var form = document.adminForm;
      			form.payment_extrainfo.value = "";
      		}
      </script>
      
      <br/><br/>
      <div align="center">
      	<span style="color:red"><?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_EXTRAINFO_RESET_EXPLAIN');
        ?>
</span>
      	<br/><br/>
      	<input type="button" onclick="resetExtraInfo();" value="<?php 
        echo $VM_LANG->_('PHPSHOP_ADMIN_CFG_EPAY_EXTRAINFO_RESET');
        ?>
" />
      	<br/><br/>
      </div>	

   <?php 
        // return false if there\'s no configuration
        return true;
    }
$sess = new ps_session;


$query  = "SELECT DISTINCT m.manufacturer_id, m.mf_name
					FROM #__{vm}_manufacturer m
					LEFT JOIN #__{vm}_product_mf_xref mx ON mx.manufacturer_id = m.manufacturer_id
					LEFT JOIN #__{vm}_product p ON p.product_id = mx.product_id
					LEFT JOIN #__{vm}_product_category_xref cx ON cx.product_id = p.product_id
					WHERE cx.category_id =".(int)$category_id;
$query .= " ORDER BY m.mf_name ASC";

$query_all  = "SELECT m.manufacturer_id,m.mf_name FROM #__{vm}_manufacturer m ";
$query_all .= "ORDER BY m.mf_name ASC";

$db = new ps_DB;
if ($auto == 1 && !empty( $category_id ) ) {
	$db->query( $query );
} else {
	$db->query( $query_all );
}
$res = $db->record;
if( empty( $res )) {
	if( $auto == 1 ) {
		$db->query( $query_all );
		$res = $db->record;
	} else {
		echo 'No manufacturers defined!';
		return;
	}
}
 /**
  * Retrieves the Customer Number of the user specified by ID
  *
  * @param int $id
  * @return string
  */
 function get_customer_num($id)
 {
     $db = new ps_DB();
     $q = "SELECT customer_number FROM #__{vm}_shopper_vendor_xref ";
     $q .= "WHERE user_id='" . $id . "' ";
     $db->query($q);
     $db->next_record();
     return $db->f("customer_number");
 }
Example #14
0
  
	<br /><br />
	<?php 
echo $VM_LANG->_('PHPSHOP_EMAIL_SENDTO') . ": <strong>" . $user->user_email . '</strong>';
?>
<br />
</p>
  
<!-- Begin Payment Information -->
<?php 
if (empty($auth['user_id'])) {
    return;
}
if ($db->f("order_status") == "P") {
    // Copy the db object to prevent it gets altered
    $db_temp = ps_DB::_clone($db);
    /** Start printing out HTML Form code (Payment Extra Info) **/
    ?>
 <br />
<table width="100%">
  <tr>
    <td width="100%" align="center">
    	<?php 
    /**
     * PLEASE DON'T CHANGE THIS SECTION UNLESS YOU KNOW WHAT YOU'RE DOING
     */
    // Try to get PayPal/PayMate/Worldpay/whatever Configuration File
    @(include CLASSPATH . "payment/" . $db->f("payment_class") . ".cfg.php");
    $vmLogger->debug('Beginning to parse the payment extra info code...');
    // Here's the place where the Payment Extra Form Code is included
    // Thanks to Steve for this solution (why make it complicated...?)
Example #15
0
 /**
  * Build a Credit Card list for each CreditCard Payment Method
  * Uses JavsScript from mambojavascript: changeDynaList()
  *
  * @param ps_DB $db_cc
  * @return string
  */
 function creditcard_lists(&$db_cc)
 {
     global $mainframe;
     if (vmIsJoomla('1.5')) {
         $document = JFactory::getDocument();
         $document->addScript('includes/js/joomla.javascript.js');
     }
     $db = new ps_DB();
     $db_cc->next_record();
     // Build the Credit Card lists for each CreditCard Payment Method
     $script = "<script language=\"javascript\" type=\"text/javascript\">\n";
     $script .= "<!--\n";
     $script .= "var originalOrder = '1';\n";
     $script .= "var originalPos = '" . $db_cc->f("payment_method_name") . "';\n";
     $script .= "var orders = new Array();\t// array in the format [key,value,text]\n";
     $i = 0;
     $db_cc->reset();
     while ($db_cc->next_record()) {
         $accepted_creditcards = explode(",", $db_cc->f("accepted_creditcards"));
         $cards = array();
         foreach ($accepted_creditcards as $value) {
             if (!empty($value)) {
                 $q = 'SELECT creditcard_code,creditcard_name FROM #__{vm}_creditcard WHERE creditcard_id=' . (int) $value;
                 $db->query($q);
                 $db->next_record();
                 $cards[$db->f('creditcard_code')] = shopMakeHtmlSafe($db->f('creditcard_name'));
             }
         }
         foreach ($cards as $code => $name) {
             $script .= "orders[" . $i++ . "] = new Array( '" . addslashes($db_cc->f("payment_method_name")) . "','{$code}','{$name}' );\n";
         }
     }
     $script .= "function changeCreditCardList() { \n";
     $script .= "var selected_payment = null;\n      for (var i=0; i<document.adminForm.payment_method_id.length; i++)\n         if (document.adminForm.payment_method_id[i].checked)\n            selected_payment = document.adminForm.payment_method_id[i].id;\n";
     $script .= "changeDynaList('creditcard_code',orders,selected_payment, originalPos, originalOrder);\n";
     $script .= "}\n";
     $script .= "//-->\n";
     $script .= "</script>\n";
     $script .= '<noscript>' . ps_html::selectList('creditcard_code', key($cards), $cards) . '</noscript>';
     return $script;
 }
$show_accountlink = $params->get('show_accountlink', 'yes');
$useGreyBox_accountlink = $params->get('useGreyBox_accountlink', '0');
$show_minicart = $params->get('show_minicart', 'yes');
$useGreyBox_cartlink = $params->get('useGreyBox_cartlink', '0');
$show_productsearch = $params->get('show_productsearch', 'yes');
$show_product_parameter_search = $params->get('show_product_parameter_search', 'no');
$menutype = $params->get('menutype', "links");
$class_sfx = $params->get('class_sfx', '');
$pretext = $params->get('pretext', '');
$jscookMenu_style = $params->get('jscookMenu_style', 'ThemeOffice');
$jscookTree_style = $params->get('jscookTree_style', 'ThemeXP');
$jscook_type = $params->get('jscook_type', 'menu');
$menu_orientation = $params->get('menu_orientation', 'hbr');
$_REQUEST['root_label'] = $params->get('root_label', 'Shop');
$class_mainlevel = "mainlevel" . $class_sfx;
$db = new ps_DB();
// This is "Categories:" by default. Change it in the Module Parameters Form
echo $pretext;
// update the cart because something could have
// changed while running a function
$cart = $_SESSION["cart"];
$auth = $_SESSION["auth"];
if ($show_categories == "yes") {
    if ($menutype == 'links') {
        /* MENUTPYE LINK LIST */
        echo $ps_product_category->get_category_tree($category_id, $class_mainlevel);
    } elseif ($menutype == "transmenu") {
        /* TransMenu script to display a DHTML Drop-Down Menu */
        include_once $mod_dir . '/vm_transmenu.php';
    } elseif ($menutype == "dtree") {
        /* dTree script to display structured categories */
    /**
     * This is the main function which stores the order information in the database
     * 
     * @author Ashish Solanki!
     * @return boolean
     */
    function updateRecords($order_number, $order_total, &$d)
    {
        require_once CLASSPATH . 'ps_checkout.php';
        $ps_chkout = new ps_checkout();
        global $order_tax_details, $afid, $VM_LANG, $auth, $my, $mosConfig_offset, $vmLogger, $vmInputFilter, $discount_factor;
        $ps_vendor_id = $_SESSION["ps_vendor_id"];
        $cart = $_SESSION['cart'];
        require_once CLASSPATH . 'ps_payment_method.php';
        $ps_payment_method = new ps_payment_method();
        require_once CLASSPATH . 'ps_product.php';
        $ps_product = new ps_product();
        require_once CLASSPATH . 'ps_cart.php';
        $ps_cart = new ps_cart();
        $db = new ps_DB();
        $totals = $ps_chkout->calc_order_totals($d);
        extract($totals);
        $timestamp = time();
        //Custom
        $vmLogger->debug('-- Checkout Debug--
							Subtotal: ' . $order_subtotal . '
							Taxable: ' . $order_taxable . '
							Payment Discount: ' . $payment_discount . '
							Coupon Discount: ' . $coupon_discount . '
							Shipping: ' . $order_shipping . '
							Shipping Tax : ' . $order_shipping_tax . '
							Tax : ' . $order_tax . '
							------------------------
							Order Total: ' . $order_total . '
							----------------------------');
        // Check to see if Payment Class File exists
        $payment_class = $ps_payment_method->get_field($d["payment_method_id"], "payment_class");
        $d['new_order_status'] = 'P';
        // This is meant to be updated by a payment modules' process_payment method
        if (!class_exists($payment_class)) {
            include CLASSPATH . "payment/{$payment_class}.php";
        }
        $_PAYMENT = new $payment_class();
        // Remove the Coupon, because it is a Gift Coupon and now is used!!
        if (@$_SESSION['coupon_type'] == "gift") {
            $d['coupon_id'] = $_SESSION['coupon_id'];
            include_once CLASSPATH . 'ps_coupon.php';
            ps_coupon::remove_coupon_code($d);
        }
        // Get the IP Address
        if (!empty($_SERVER['REMOTE_ADDR'])) {
            $ip = $_SERVER['REMOTE_ADDR'];
        } else {
            $ip = 'unknown';
        }
        // Collect all fields and values to store them!
        $fields = array('user_id' => $auth["user_id"], 'vendor_id' => $ps_vendor_id, 'order_number' => $order_number, 'user_info_id' => $d["ship_to_info_id"], 'ship_method_id' => @urldecode($d["shipping_rate_id"]), 'order_total' => $order_total, 'order_subtotal' => $order_subtotal, 'order_tax' => $order_tax, 'order_tax_details' => serialize($order_tax_details), 'order_shipping' => $order_shipping, 'order_shipping_tax' => $order_shipping_tax, 'order_discount' => $payment_discount, 'coupon_discount' => $coupon_discount, 'coupon_code' => @$_SESSION['coupon_code'], 'order_currency' => $GLOBALS['product_currency'], 'order_status' => 'P', 'cdate' => $timestamp, 'mdate' => $timestamp, 'customer_note' => htmlspecialchars(vmRequest::getString('customer_note', '', 'POST', 'none'), ENT_QUOTES), 'ip_address' => $ip);
        // Insert the main order information
        $db->buildQuery('INSERT', '#__{vm}_orders', $fields);
        $result = $db->query();
        $d["order_id"] = $order_id = $db->last_insert_id();
        if ($result === false || empty($order_id)) {
            $vmLogger->crit('Adding the Order into the Database failed! User ID: ' . $auth["user_id"]);
            return false;
        }
        // Insert the initial Order History.
        $mysqlDatetime = date("Y-m-d G:i:s", $timestamp);
        $fields = array('order_id' => $order_id, 'order_status_code' => 'P', 'date_added' => $mysqlDatetime, 'customer_notified' => 1, 'comments' => '');
        $db->buildQuery('INSERT', '#__{vm}_order_history', $fields);
        $db->query();
        /**
         * Insert the Order payment info 
         */
        $payment_number = str_replace(array(' ', '|', '-'), '', @$_SESSION['ccdata']['order_payment_number']);
        $d["order_payment_code"] = @$_SESSION['ccdata']['credit_card_code'];
        // Payment number is encrypted using mySQL encryption functions.
        $fields = array('order_id' => $order_id, 'payment_method_id' => $d["payment_method_id"], 'order_payment_log' => @$d["order_payment_log"], 'order_payment_trans_id' => $vmInputFilter->safeSQL(@$d["order_payment_trans_id"]));
        if (!empty($payment_number) && VM_STORE_CREDITCARD_DATA == '1') {
            // Store Credit Card Information only if the Store Owner has decided to do so
            $fields['order_payment_code'] = $d["order_payment_code"];
            $fields['order_payment_expire'] = @$_SESSION["ccdata"]["order_payment_expire"];
            $fields['order_payment_name'] = @$_SESSION["ccdata"]["order_payment_name"];
            $fields['order_payment_number'] = VM_ENCRYPT_FUNCTION . "( '{$payment_number}','" . ENCODE_KEY . "')";
            $specialfield = array('order_payment_number');
        } else {
            $specialfield = array();
        }
        $db->buildQuery('INSERT', '#__{vm}_order_payment', $fields, '', $specialfield);
        $db->query();
        /**
         * Insert the User Billto & Shipto Info
         */
        // First: get all the fields from the user field list to copy them from user_info into the order_user_info
        $fields = array();
        require_once CLASSPATH . 'ps_userfield.php';
        $userfields = ps_userfield::getUserFields('', false, '', true, true);
        foreach ($userfields as $field) {
            if ($field->name == 'email') {
                $fields[] = 'user_email';
            } else {
                $fields[] = $field->name;
            }
        }
        $fieldstr = implode(',', $fields);
        // Save current Bill To Address
        $q = "INSERT INTO `#__{vm}_order_user_info` \n\t\t\t(`order_info_id`,`order_id`,`user_id`,address_type, " . $fieldstr . ") ";
        $q .= "SELECT NULL, '{$order_id}', '" . $auth['user_id'] . "', address_type, " . $fieldstr . " FROM #__{vm}_user_info WHERE user_id='" . $auth['user_id'] . "' AND address_type='BT'";
        $db->query($q);
        // Save current Ship to Address if applicable
        $q = "INSERT INTO `#__{vm}_order_user_info` \n\t\t\t(`order_info_id`,`order_id`,`user_id`,address_type, " . $fieldstr . ") ";
        $q .= "SELECT NULL, '{$order_id}', '" . $auth['user_id'] . "', address_type, " . $fieldstr . " FROM #__{vm}_user_info WHERE user_id='" . $auth['user_id'] . "' AND user_info_id='" . $d['ship_to_info_id'] . "' AND address_type='ST'";
        $db->query($q);
        /**
         * Insert all Products from the Cart into order line items; 
         * one row per product in the cart 
         */
        $dboi = new ps_DB();
        for ($i = 0; $i < $cart["idx"]; $i++) {
            $r = "SELECT product_id,product_in_stock,product_sales,product_parent_id,product_sku,product_name ";
            $r .= "FROM #__{vm}_product WHERE product_id='" . $cart[$i]["product_id"] . "'";
            $dboi->query($r);
            $dboi->next_record();
            $product_price_arr = $ps_product->get_adjusted_attribute_price($cart[$i]["product_id"], $cart[$i]["description"]);
            $product_price = $GLOBALS['CURRENCY']->convert($product_price_arr["product_price"], $product_price_arr["product_currency"]);
            if (empty($_SESSION['product_sess'][$cart[$i]["product_id"]]['tax_rate'])) {
                $my_taxrate = $ps_product->get_product_taxrate($cart[$i]["product_id"]);
            } else {
                $my_taxrate = $_SESSION['product_sess'][$cart[$i]["product_id"]]['tax_rate'];
            }
            // Attribute handling
            $product_parent_id = $dboi->f('product_parent_id');
            $description = '';
            if ($product_parent_id > 0) {
                $db_atts = $ps_product->attribute_sql($dboi->f('product_id'), $product_parent_id);
                while ($db_atts->next_record()) {
                    $description .= $db_atts->f('attribute_name') . ': ' . $db_atts->f('attribute_value') . '; ';
                }
            }
            $description .= $ps_product->getDescriptionWithTax($_SESSION['cart'][$i]["description"], $dboi->f('product_id'));
            $product_final_price = round($product_price * ($my_taxrate + 1), 2);
            $vendor_id = $ps_vendor_id;
            $fields = array('order_id' => $order_id, 'user_info_id' => $d["ship_to_info_id"], 'vendor_id' => $vendor_id, 'product_id' => $cart[$i]["product_id"], 'order_item_sku' => $dboi->f("product_sku"), 'order_item_name' => $dboi->f("product_name"), 'product_quantity' => $cart[$i]["quantity"], 'product_item_price' => $product_price, 'product_final_price' => $product_final_price, 'order_item_currency' => $GLOBALS['product_currency'], 'order_status' => 'P', 'product_attribute' => $description, 'cdate' => $timestamp, 'mdate' => $timestamp);
            $db->buildQuery('INSERT', '#__{vm}_order_item', $fields);
            $db->query();
            // Update Stock Level and Product Sales, decrease - no matter if in stock or not!
            $q = "UPDATE #__{vm}_product ";
            $q .= "SET product_in_stock = product_in_stock - " . (int) $cart[$i]["quantity"];
            $q .= " WHERE product_id = '" . $cart[$i]["product_id"] . "'";
            $db->query($q);
            $q = "UPDATE #__{vm}_product ";
            $q .= "SET product_sales= product_sales + " . (int) $cart[$i]["quantity"];
            $q .= " WHERE product_id='" . $cart[$i]["product_id"] . "'";
            $db->query($q);
            // Update stock of parent product, if all child products are sold, thanks Ragnar Brynjulfsson
            if ($dboi->f("product_parent_id") != 0) {
                $q = "SELECT COUNT(product_id) ";
                $q .= "FROM #__{vm}_product ";
                $q .= "WHERE product_parent_id = " . $dboi->f("product_parent_id");
                $q .= " AND product_in_stock > 0";
                $db->query($q);
                $db->next_record();
                if (!$db->f("COUNT(product_id)")) {
                    $q = "UPDATE #__{vm}_product ";
                    $q .= "SET product_in_stock = 0 ";
                    $q .= "WHERE product_id = " . $dboi->f("product_parent_id") . " LIMIT 1";
                    $db->query($q);
                }
            }
        }
        ######## BEGIN DOWNLOAD MOD ###############
        if (ENABLE_DOWNLOADS == "1") {
            require_once CLASSPATH . 'ps_order.php';
            for ($i = 0; $i < $cart["idx"]; $i++) {
                // only handle downloadable products here
                if (ps_product::is_downloadable($cart[$i]["product_id"])) {
                    $params = array('product_id' => $cart[$i]["product_id"], 'order_id' => $order_id, 'user_id' => $auth["user_id"]);
                    ps_order::insert_downloads_for_product($params);
                    if (@VM_DOWNLOADABLE_PRODUCTS_KEEP_STOCKLEVEL == '1') {
                        // Update the product stock level back to where it was.
                        $q = "UPDATE #__{vm}_product ";
                        $q .= "SET product_in_stock = product_in_stock + " . (int) $cart[$i]["quantity"];
                        $q .= " WHERE product_id = '" . (int) $cart[$i]["product_id"] . "'";
                        $db->query($q);
                    }
                }
            }
        }
        ################## END DOWNLOAD MOD ###########
        // Export the order_id so the checkout complete page can get it
        $d["order_id"] = $order_id;
        /*
         * Let the shipping module know which shipping method
         * was selected.  This way it can save any information
         * it might need later to print a shipping label.
         */
        if (is_callable(array($this->_SHIPPING, 'save_rate_info'))) {
            $this->_SHIPPING->save_rate_info($d);
        }
        // Now as everything else has been done, we can update the Order Status
        $update_order = false;
        if ($order_total == 0.0) {
            // code moved out of $_PAYMENT check as no payment will be needed when $order_total=0.0
            // If the Order Total is zero, we can confirm the order to automatically enable the download
            $d['order_status'] = ENABLE_DOWNLOAD_STATUS;
            $update_order = true;
        } elseif (isset($_PAYMENT)) {
            if ($d['new_order_status'] != 'P') {
                $d['order_status'] = $d['new_order_status'];
                $update_order = true;
            }
        }
        if ($update_order) {
            require_once CLASSPATH . "ps_order.php";
            $ps_order = new ps_order();
            $ps_order->order_status_update($d);
        }
        // Send the e-mail confirmation messages
        $ps_chkout->email_receipt($order_id);
        // Reset the cart (=empty it)
        $ps_cart->reset();
        $_SESSION['savedcart']['idx'] = 0;
        $ps_cart->saveCart();
        // Unset the payment_method variables
        $d["payment_method_id"] = "";
        $d["order_payment_number"] = "";
        $d["order_payment_expire"] = "";
        $d["order_payment_name"] = "";
        $d["credit_card_code"] = "";
        // Clear the sensitive Session data
        $_SESSION['ccdata']['order_payment_name'] = "";
        $_SESSION['ccdata']['order_payment_number'] = "";
        $_SESSION['ccdata']['order_payment_expire_month'] = "";
        $_SESSION['ccdata']['order_payment_expire_year'] = "";
        $_SESSION['ccdata']['credit_card_code'] = "";
        $_SESSION['coupon_discount'] = "";
        $_SESSION['coupon_id'] = "";
        $_SESSION['coupon_redeemed'] = false;
        $_POST["payment_method_id"] = "";
        $_POST["order_payment_number"] = "";
        $_POST["order_payment_expire"] = "";
        $_POST["order_payment_name"] = "";
        $_SESSION['order_id'] = $order_id;
    }
 /**
  * Returns the order status name for a given order status code
  *
  * @param string $order_status_code
  * @return string
  */
 function getOrderStatusName($order_status_code)
 {
     if (empty($GLOBALS['order_status'][$order_status_code])) {
         $db = new ps_DB();
         $q = "SELECT order_status_id, order_status_name FROM #__{vm}_order_status WHERE `order_status_code`='" . $order_status_code . "'";
         $db->query($q);
         $db->next_record();
         $GLOBALS['order_status'][$order_status_code] = $db->f("order_status_name");
     }
     return $GLOBALS['order_status'][$order_status_code];
 }
Example #19
0
    
    <a class="vmicon vmicon-16-editadd" href="<?php 
    $sess->purl($_SERVER['PHP_SELF'] . "?page={$modulename}.user_address_form&amp;user_id={$user_id}");
    ?>
" >
	(<?php 
    echo $VM_LANG->_('PHPSHOP_USER_FORM_ADD_SHIPTO_LBL');
    ?>
)</a> 
	
	<table class="adminlist"> 
		<tr> 
			<td > 
				  <?php 
    $qt = "SELECT * from #__{vm}_user_info WHERE user_id='{$user_id}' AND address_type='ST'";
    $dbt = new ps_DB();
    $dbt->query($qt);
    if (!$dbt->num_rows()) {
        echo "No shipping addresses.";
    } else {
        while ($dbt->next_record()) {
            $url = $sess->url($_SERVER['PHP_SELF'] . "?page={$modulename}.user_address_form&user_id={$user_id}&user_info_id=" . $dbt->f("user_info_id"));
            echo '&raquo; <a href="' . $sess->url($url) . '">';
            echo $dbt->f("address_type_name") . "</a><br/>";
        }
    }
    ?>
 
			</td> 
		</tr> 
	</table>
Example #20
0
 function recentProducts($product_id, $maxitems)
 {
     global $db, $VM_LANG, $sess;
     if ($maxitems == 0) {
         return;
     }
     $recentproducts = $_SESSION['recent'];
     //No recent products so return empty
     if ($recentproducts['idx'] == 0) {
         //return "";
     }
     $tpl = new $GLOBALS['VM_THEMECLASS']();
     $db = new ps_DB();
     $dbp = new ps_DB();
     $k = 0;
     $recent = array();
     // Iterate through loop backwards (newest to oldest)
     for ($i = $recentproducts['idx'] - 1; $i >= 0; $i--) {
         //Check if on current product and don't display
         if ($recentproducts[$i]['product_id'] == $product_id) {
             continue;
         }
         // If we have not reached max products add the next product
         if ($k < $maxitems) {
             $prod_id = $recentproducts[$i]['product_id'];
             $category_id = $recentproducts[$i]['category_id'];
             $q = "SELECT product_name, category_name, c.category_flypage,product_s_desc,product_thumb_image ";
             $q .= "FROM #__{vm}_product as p,#__{vm}_category as c,#__{vm}_product_category_xref as cx ";
             $q .= "WHERE p.product_id = '{$prod_id}' ";
             $q .= "AND c.category_id = '{$category_id}' ";
             $q .= "AND p.product_id = cx.product_id ";
             $q .= "AND c.category_id=cx.category_id ";
             $q .= "AND p.product_publish='Y' ";
             $q .= "AND c.category_publish='Y' ";
             $q .= "LIMIT 0,1";
             $db->query($q);
             if (!$db->next_record()) {
                 continue;
             }
             if (!$this->is_product($prod_id)) {
                 $prod_id_p = $this->get_field($prod_id, "product_parent_id");
                 $q = "SELECT product_name,category_name, c.category_flypage,product_s_desc,product_thumb_image ";
                 $q .= "FROM #__{vm}_product as p,#__{vm}_category as c,#__{vm}_product_category_xref as cx ";
                 $q .= "WHERE p.product_id = '{$prod_id_p}' ";
                 $q .= "AND c.category_id = '{$category_id}' ";
                 $q .= "AND p.product_id = cx.product_id ";
                 $q .= "AND c.category_id=cx.category_id LIMIT 0,1";
                 $dbp->query($q);
             }
             $recent[$k]['product_s_desc'] = $db->f("product_s_desc");
             if ($recent[$k]['product_s_desc'] == "" && !empty($prod_id_p)) {
                 $recent[$k]['product_s_desc'] = $dbp->f("product_s_desc");
             }
             $flypage = $db->f("category_flypage");
             if (empty($flypage) && !empty($prod_id_p)) {
                 $flypage = $dbp->sf("category_flypage");
             }
             if (empty($flypage)) {
                 $flypage = FLYPAGE;
             }
             $flypage = str_replace('shop.', '', $flypage);
             $flypage = stristr($flypage, '.tpl') ? $flypage : $flypage . '.tpl';
             $recent[$k]['product_url'] = $sess->url("page=shop.product_details&amp;product_id={$prod_id}&amp;category_id={$category_id}&amp;flypage={$flypage}");
             $recent[$k]['category_url'] = $sess->url("page=shop.browse&amp;category_id={$category_id}");
             $recent[$k]['product_name'] = $db->f("product_name");
             if ($recent[$k]['product_name'] == "" && !empty($prod_id_p)) {
                 $recent[$k]['product_name'] = $dbp->f("product_name");
             }
             $recent[$k]['product_name'] = shopMakeHtmlSafe($recent[$k]['product_name']);
             $recent[$k]['category_name'] = $db->f("category_name");
             if ($recent[$k]['category_name'] == "" && !empty($prod_id_p)) {
                 $recent[$k]['category_name'] = $dbp->f("category_name");
             }
             $recent[$k]['product_thumb_image'] = $db->f("product_thumb_image");
             if ($recent[$k]['product_thumb_image'] == "" && !empty($prod_id_p)) {
                 $recent[$k]['product_thumb_image'] = $dbp->f("product_thumb_image");
             }
             $k++;
         }
     }
     if ($k == 0) {
         return "";
     }
     $tpl->set("recent_products", $recent);
     return $tpl->fetch('common/recent.tpl.php');
 }
Example #21
0
		function getProductSKU( $limit=0, $how=null, $category_ids=array(), $featuredProducts='no' , $specific_product_ids='', $source='filter', $catfilter='') {
			global $my, $mosConfig_offset;
			$database = new ps_DB();
	
			$where = $this->buildConditionSql($source, $catfilter, $category_ids, $specific_product_ids);
	
			if($limit>0) {
				$limit = "LIMIT $limit";
			} else {
				$limit = "";
			}
	
			$query = "SELECT distinct(p.product_sku) FROM #__{vm}_product AS p";
	
			$query .= "\nJOIN #__{vm}_product_category_xref as pc ON p.product_id=pc.product_id";
			
			$query .= "\nJOIN #__{vm}_category as c ON pc.category_id=c.category_id";
			
			$query .= "\n WHERE p.product_publish = 'Y' AND c.category_publish = 'Y' AND product_parent_id=0 ";
			if( CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {
				$query .= " AND product_in_stock > 0 ";
			}
			
			if( $featuredProducts=='yes' ) {
				$query .= "\n AND product_special = 'Y' ";
			}
			
			$query .= $where;
			
			switch( $how ) {
				case 'random':
					$query .= "\n ORDER BY RAND() $limit";
					break;
				case 'newest':
					$query .= "\n ORDER BY p.cdate DESC $limit";
					break;
				case 'oldest':
					$query .= "\n ORDER BY p.cdate ASC $limit";
					break;
				default:
					$query .= "\n ORDER BY p.cdate DESC $limit";
					break;
			}
			$database->setQuery( $query );
	
			$rows = $database->loadResultArray();//var_dump($rows);die;
			return $rows;
		}
Example #22
0
 function process_payment($order_number, $order_total, &$d)
 {
     global $vendor_mail, $vendor_currency, $VM_LANG, $vmLogger;
     $ps_vendor_id = $_SESSION["ps_vendor_id"];
     $auth = $_SESSION['auth'];
     $ps_checkout = new ps_checkout();
     /*** Get the Configuration File for authorize.net ***/
     require_once CLASSPATH . "payment/" . $this->classname . ".cfg.php";
     // Get user billing information
     $dbbt = new ps_DB();
     $qt = "SELECT * FROM #__{vm}_user_info WHERE user_id='" . $auth["user_id"] . "' AND address_type='BT'";
     $dbbt->query($qt);
     $dbbt->next_record();
     $user_info_id = $dbbt->f("user_info_id");
     if ($user_info_id != $d["ship_to_info_id"]) {
         // Get user billing information
         $dbst = new ps_DB();
         $qt = "SELECT * FROM #__{vm}_user_info WHERE user_info_id='" . $d["ship_to_info_id"] . "' AND address_type='ST'";
         $dbst->query($qt);
         $dbst->next_record();
     } else {
         $dbst = $dbbt;
     }
     $host = "posh.montrada.de";
     $port = 443;
     $path = "/posh/cmd/posh/tpl/txn_result.tpl";
     //Montrada vars to send
     $formdata = array('command' => 'authorization', 'orderid' => substr($order_number, 0, 20), 'creditc' => $_SESSION['ccdata']['order_payment_number'], 'expdat' => substr($_SESSION['ccdata']['order_payment_expire_year'], 2, 2) . $_SESSION['ccdata']['order_payment_expire_month'], 'currency' => $vendor_currency, 'amount' => $order_total * 100, 'cvcode' => $_SESSION['ccdata']['credit_card_code']);
     //build the post string
     $poststring = '';
     foreach ($formdata as $key => $val) {
         $poststring .= urlencode($key) . "=" . urlencode($val) . "&";
     }
     // strip off trailing ampersand
     $poststring = substr($poststring, 0, -1);
     /* DEBUG Message */
     if ($this->debug) {
         $vmLogger->debug(wordwrap($poststring, 60, "<br/>", 1));
     }
     if (function_exists("curl_init")) {
         $CR = curl_init();
         curl_setopt($CR, CURLOPT_URL, "https://" . $host . $path);
         curl_setopt($CR, CURLOPT_POST, 1);
         curl_setopt($CR, CURLOPT_FAILONERROR, true);
         curl_setopt($CR, CURLOPT_POSTFIELDS, $poststring);
         curl_setopt($CR, CURLOPT_USERPWD, MO_USERNAME . ":" . MO_PASSWORD);
         curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
         // No PEER certificate validation...as we don't have
         // a certificate file for it to authenticate the host www.ups.com against!
         curl_setopt($CR, CURLOPT_SSL_VERIFYPEER, 0);
         //curl_setopt($CR, CURLOPT_SSLCERT , "/usr/locale/xxxx/clientcertificate.pem");
         $result = curl_exec($CR);
         $error = curl_error($CR);
         if (!empty($error)) {
             $vmLogger->err(curl_error($CR) . "<br/><span class=\"message\">" . $VM_LANG->_('PHPSHOP_PAYMENT_INTERNAL_ERROR') . " authorize.net</span>");
             return false;
         } else {
             //echo $result; exit();
         }
         curl_close($CR);
     } else {
         $fp = fsockopen("ssl://" . $host, $port, $errno, $errstr, $timeout = 60);
         if (!$fp) {
             //error tell us
             $vmLogger->err("{$errstr} ({$errno})");
         } else {
             //send the server request
             fputs($fp, "POST {$path} HTTP/1.1\r\n");
             fputs($fp, "Host: {$host}\r\n");
             fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
             fputs($fp, "Content-length: " . strlen($poststring) . "\r\n");
             fputs($fp, "Authorization: Basic " . base64_encode(MO_USERNAME . ":" . MO_PASSWORD) . "\r\n");
             fputs($fp, "Connection: close\r\n\r\n");
             fputs($fp, $poststring . "\r\n\r\n");
             //Get the response header from the server
             $data = "";
             while (!feof($fp)) {
                 $data .= fgets($fp, 1024);
             }
             $data = explode("\r\n\r\n", $data);
             $result = trim($data[1]);
         }
     }
     /* DEBUG Message */
     if ($this->debug) {
         $vmLogger->debug(wordwrap(urldecode($result), 60, "<br/>", 1));
     }
     // Split Response-Data
     $data = explode("&", $result);
     foreach ($data as $var) {
         $var = explode("=", $var);
         $key = urldecode($var[0]);
         $value = urldecode($var[1]);
         $response[$key] = $value;
     }
     // Array of posherr values that get displayed
     $posherr1 = array("0", "100", "2014", "2016", "2018", "2040", "2042", "2048", "2090" . "2092", "2094", "2202", "2204");
     /* Display these error messages (ordered by id)
            0	(Transaktion erfolgreich abgeschlossen)
            100	(Transaktion ohne Erfolg abgeschlossen)
            2014	(Kartennummer, Parameter 'creditc' falsch)
            2016	(G�ltigkeitsdatum, Parameter 'expdat' falsch)
            2018	(Kartenpr�fwert, Parameter 'cvcode' falsch)
            2040	(Anfang oder L�nge der Kartennummer falsch)
            2042	(Pr�fsumme der Kartennummer falsch)
            2048	(Karte abgelaufen)
            2090	(Bankleitzahl, Parameter 'bankcode' falsch)
            2092	(Kontonummer, Parameter 'account' falsch)
            2094	(Name, Parameter 'cname' falsch)
            2202	(Bankleitzahl unbekannt)
            2204	(Kontonummer paSst nicht zur Bankleitzahl)        
        */
     // Array of rc values that get display if posherr=100
     $rc1 = array("000", "005", "033", "091", "096");
     // Approved - Success!
     if (isset($response['posherr']) && $response['posherr'] == 0) {
         $d["order_payment_log"] = $VM_LANG->_('PHPSHOP_PAYMENT_TRANSACTION_SUCCESS') . ": ";
         $d["order_payment_log"] .= $response['rmsg'];
         // Catch Transaction ID
         $d["order_payment_trans_id"] = $response['trefnum'];
         return True;
         $db = new ps_DB();
         $q = "UPDATE #__{vm}_order_payment SET order_payment_code='',order_payment_number='',order_payment_expire='' WHERE order_id={$order_number}";
         $db->query($q);
         $db->next_record();
     } else {
         if ($response['posherr'] = "") {
             $response['posherr'] = -1;
         }
         $vmLogger->err($VM_LANG->_('PHPSHOP_PAYMENT_ERROR', false) . " ({$response['posherr']})");
         if (in_array($response['posherr'], $posherr1)) {
             if ($response['posherr'] == 100) {
                 if (in_array($response['rc'], $rc1)) {
                     $vmLogger->err($response['rmsg']);
                 }
             } else {
                 $vmLogger->err($response['rmsg']);
             }
         }
         $d["order_payment_log"] = $response['rmsg'];
         // Catch Transaction ID
         $d["order_payment_trans_id"] = $response['retrefnr'];
         return False;
     }
 }
    if (empty($product_parent_id)) {
        $title .= $VM_LANG->_('PHPSHOP_ATTRIBUTE_FORM_UPDATE_FOR_PRODUCT') . " ";
    } else {
        $title .= $VM_LANG->_('PHPSHOP_ATTRIBUTE_FORM_UPDATE_FOR_ITEM') . " ";
    }
} else {
    if (empty($product_parent_id)) {
        $title .= $VM_LANG->_('PHPSHOP_ATTRIBUTE_FORM_NEW_FOR_PRODUCT') . " ";
    } else {
        $title .= $VM_LANG->_('PHPSHOP_ATTRIBUTE_FORM_NEW_FOR_ITEM') . " ";
    }
}
$url = $_SERVER['PHP_SELF'] . "?page={$modulename}.product_form&product_id={$product_id}&product_parent_id={$product_parent_id}";
$title .= '<a href="' . $sess->url($url) . '">' . $ps_product->get_field($product_id, 'product_name') . '</a>';
if ($attribute_name) {
    $db = new ps_DB();
    $q = "SELECT * FROM #__{vm}_product_attribute_sku WHERE product_id='{$product_id}' ";
    $q .= "AND attribute_name = '{$attribute_name}' ";
    $db->query($q);
    $db->next_record();
}
//First create the object and let it print a form heading
$formObj = new formFactory($title);
//Then Start the form
$formObj->startForm();
?>
 
<table class="adminform">
	<tr> 
		<td width="23%" height="20" valign="top"> 
			<div align="right"><?php 
 * other free or open source software licenses.
 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
 *
 * http://virtuemart.net
 */
mm_showMyFileName(__FILE__);
require_once CLASSPATH . 'ps_vendor.php';
require_once CLASSPATH . 'ps_shopper_group.php';
global $ps_html, $ps_product;
$title = $VM_LANG->_('PHPSHOP_PRICE_FORM_LBL') . '<br/>';
$product_id = vmGet($_REQUEST, 'product_id', 0);
$product_price_id = vmGet($_REQUEST, 'product_price_id', 0);
$product_parent_id = vmGet($_REQUEST, 'product_parent_id');
$return_args = vmGet($_REQUEST, 'return_args');
$option = empty($option) ? vmGet($_REQUEST, 'option', 'com_virtuemart') : $option;
$db = new ps_DB();
/* If Updating a Price */
if (!empty($product_price_id)) {
    /* Get field values for update */
    $q = "SELECT * FROM #__{vm}_product_price WHERE product_price_id='{$product_price_id}' ";
    $db->query($q);
    $db->next_record();
} elseif (empty($vars["error"])) {
    /* Set default currency for product price */
    $default['product_currency'] = $vendor_currency;
}
if (!empty($vars["product_price_id"])) {
    $product_price_id = $vars["product_price_id"];
    if (empty($product_parent_id)) {
        $title .= $VM_LANG->_('PHPSHOP_PRICE_FORM_UPDATE_FOR_PRODUCT') . " ";
    } else {
Example #25
0
 function get_field($vendor_id, $field_name)
 {
     $db = new ps_DB();
     $q = "SELECT {$field_name} FROM #__{vm}_vendor WHERE vendor_id='{$vendor_id}'";
     $db->query($q);
     if ($db->next_record()) {
         return $db->f($field_name);
     } else {
         return False;
     }
 }
Example #26
0
    $lang = 'tw';
}
$lang_path = "lang/{$lang}/lang.inc";
include $lang_path;
$_SESSION['lang'] = $lang;
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php 
echo $_LOGIN;
?>
</title>
</head>

<?php 
$db = new ps_DB();
$action = $_GET['action'];
if ($action == 'logout') {
    unset($_SESSION['name']);
    unset($_SESSION['username']);
    unset($_SESSION['authority']);
    unset($_SESSION['userID']);
} else {
    $username = $_POST['username'];
    $password = md5($_POST['password']);
    if (!$errormsg) {
        $errormsg = "";
    }
    if ($username) {
        $sql = "select ID, name, authority from account where username='******' and password='******' ";
        $db->query($sql);
Example #27
0
 /**
  * Retrieves a list of available user groups and returns the ps_DB object
  *
  * @return ps_DB
  */
 function get_groups()
 {
     $db = new ps_DB();
     $query = 'SELECT group_id,group_name,group_level FROM `' . $this->_table_name . '` ORDER BY group_level ASC';
     $db->query($query);
     return $db;
 }
Example #28
0
 function _tax_based_on_vendor_address($ship_to_info_id = '')
 {
     global $auth;
     global $vmLogger;
     switch (TAX_MODE) {
         case '0':
             return false;
         case '1':
             return true;
         case '17749':
             $ship_to_info_id = !empty($ship_to_info_id) ? $ship_to_info_id : vmGet($_REQUEST, 'ship_to_info_id');
             $db = new ps_DB();
             $q = "SELECT country FROM #__{vm}_user_info WHERE user_info_id='" . $ship_to_info_id . "'";
             $db->query($q);
             $db->next_record();
             $ship_country = $db->f("country");
             if (!array_key_exists('country', $auth) || empty($ship_country)) {
                 $vmLogger->debug('shopper\'s country is not known; defaulting to vendor-based tax');
                 return true;
             }
             if ($ship_to_info_id) {
                 $vmLogger->debug('shopper shipping in ' . $ship_country);
                 $auth_country = $ship_country;
             } else {
                 $vmLogger->debug('shopper is in ' . $auth['country']);
                 $auth_country = $auth['country'];
             }
             return ps_checkout::country_in_eu_common_vat_zone($auth_country);
         default:
             $vmLogger->warning('unknown TAX_MODE "' . TAX_MODE . '"');
             return true;
     }
 }
Example #29
0
 function sendEmailAdmin($order_ids, $status = null)
 {
     global $sess, $VM_LANG, $vmLogger;
     $urls = array();
     foreach ($order_ids as $order_id) {
         $urls[$order_id]['site'] = SECUREURL . "index.php?option=com_virtuemart&page=account.order_details&order_id=" . $order_id . '&order_key=' . md5('AIR' . $order_id . 'SOFT' . $order_id . 'STORE') . '&Itemid=' . $sess->getShopItemid();
         $urls[$order_id]['admin'] = SECUREURL . '/administrator/index.php?page=order.order_print&limitstart=0&order_id=' . $order_id . '&option=com_virtuemart';
     }
     $db = new ps_DB();
     $dbv = new ps_DB();
     $q = "SELECT vendor_name,contact_email FROM #__{vm}_vendor ";
     $q .= "WHERE vendor_id='" . $_SESSION['ps_vendor_id'] . "'";
     $dbv->query($q);
     $dbv->next_record();
     //	  $q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
     //	  $q .= "WHERE #__{vm}_orders.order_id = '" . $db->getEscaped($order_id) . "' ";
     //	  $q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
     //	  $q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
     //	  $q .= "AND order_status = order_status_code ";
     //	  $db->query($q);
     //	  $db->next_record();
     /*
      $providerlist	 = $this->getProviderlist();
      $tracking		 = $this->getTracking($order_id);
      if ($tracking->provider) {
      $provider = $this->getProvider($tracking->provider);
      $provider->setData($tracking);
      }
      $siteTrackingUrl = $provider->getSiteUrlTracking();
     
      $provider	 = $tracking->provider;
      $tracknumber = $tracking->tracknumber;
      $date		 = $tracking->date;
     
      if (!$tracknumber) {
      return false;
      }
     *
     */
     $statusText = '';
     $statusText = 'Следующие заказы были доставлены: ';
     ob_start();
     require CLASSPATH . 'sc_trackingpost/tmpl/email/admin_email_tracking.php';
     $message = ob_get_contents();
     ob_end_clean();
     $mail_Body = $message;
     //	  $mail_Body = html_entity_decode($message);
     //$mail_Subject = 'Данные для отслеживания посылки по к заказу№' . $order_id;
     //Inf Временная заглушка
     //	  $admin_email = $dbv->f("contact_email");
     $admin_email = '*****@*****.**';
     $result = vmMail($admin_email, 'admin', $admin_email, $status, $mail_Body, '', true);
     return $result;
 }
Example #30
0
 /**
  * update export module
  * @param array
  * @return bool
  * @author Manfred Dennerlein
  */
 function update(&$d)
 {
     global $vmLogger, $VM_LANG;
     $db = new ps_DB();
     $ps_vendor_id = $_SESSION['ps_vendor_id'];
     $timestamp = time();
     if (!$this->validate_update($d)) {
         return False;
     }
     if (!empty($d['export_class'])) {
         $export_class = basename($d['export_class']);
         if (include_once CLASSPATH . 'export/' . $export_class . '.php') {
             $_EXPORT = new $export_class();
         }
     } else {
         include_once CLASSPATH . 'export/ps_xmlexport.php';
         $_EXPORT = new ps_xmlexport();
     }
     if ($_EXPORT->configfile_writeable()) {
         $_EXPORT->write_configuration($d);
         $vmLogger->info($VM_LANG->_('VM_CONFIGURATION_CHANGE_SUCCESS', false));
     } else {
         $vmLogger->err(sprintf($VM_LANG->_('VM_CONFIGURATION_CHANGE_FAILURE', false), CLASSPATH . "export/" . $_EXPORT->classname . ".cfg.php"));
         return false;
     }
     $fields = array('export_enabled' => $d['export_enabled'], 'export_config' => $d['export_config']);
     if (!$d['iscore']) {
         $fields['export_name'] = $d['export_name'];
         $fields['export_desc'] = $d['export_desc'];
         $fields['export_class'] = $d['export_class'];
     }
     $db->buildQuery('INSERT', '#__{vm}_export', $fields, 'WHERE export_id=' . (int) $d['export_id'] . " AND vendor_id='{$ps_vendor_id}'");
     return $db->query() !== false;
 }