Esempio n. 1
0
 /**
  * Validates the input parameters onCountryAdd
  *
  * @param array $d
  * @return boolean
  */
 function validate_add($d)
 {
     global $vmLogger;
     $db = new ps_DB();
     if (!$d["country_name"]) {
         $vmLogger->err("You must enter a name for the country.");
         return False;
     }
     if (!$d["country_2_code"]) {
         $vmLogger->err("You must enter a 2 symbol code for the country.");
         return False;
     }
     if (!$d["country_3_code"]) {
         $vmLogger->err('You must enter a 3 symbol code for the country.');
         return False;
     }
     if ($d["country_name"]) {
         $q = "SELECT count(*) as rowcnt from #__{vm}_country where";
         $q .= " country_name='" . $db->getEscaped($d["country_name"]) . "'";
         $db->query($q);
         $db->next_record();
         if ($db->f("rowcnt") > 0) {
             $vmLogger->err("The given country name already exists.");
             return False;
         }
     }
     return True;
 }
Esempio n. 2
0
 function validate_add($d)
 {
     global $VM_LANG;
     $db = new ps_DB();
     if (!$d["currency_name"]) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_CURRENCY_ERR_NAME'));
         return False;
     }
     if (!$d["currency_code"]) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_CURRENCY_ERR_CODE'));
         return False;
     }
     if ($d["currency_name"]) {
         $q = "SELECT count(*) as rowcnt from #__{vm}_currency where";
         $q .= " currency_name='" . $d["currency_name"] . "'";
         $db->setQuery($q);
         $db->query();
         $db->next_record();
         if ($db->f("rowcnt") > 0) {
             $GLOBALS['vmLogger']->err($VM_LANG->_('VM_CURRENCY_ERR_EXISTS'));
             return False;
         }
     }
     return True;
 }
 /**
  * Validates the Input Parameters onBeforeProductTypeAdd
  * @author Zdenek Dvorak
  * @param array $d
  * @return boolean
  */
 function validate_add(&$d)
 {
     global $VM_LANG;
     if (empty($d["product_type_id"])) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_SELECT'));
         return False;
     }
     if (empty($d["product_id"])) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_SELECT_PRODUCT'));
         return false;
     }
     $db = new ps_DB();
     $q = "SELECT product_id,COUNT(*) AS count FROM #__{vm}_product_product_type_xref ";
     if (is_array($d["product_id"])) {
         $product_ids = implode(",", $d["product_id"]);
         $q .= "WHERE product_id IN (" . $product_ids . ") AND product_type_id='" . $d["product_type_id"] . "' GROUP BY product_id";
     } else {
         $q .= "WHERE product_id='" . $d["product_id"] . "' AND product_type_id='" . $d["product_type_id"] . "'";
     }
     $db->query($q);
     if ($db->f("count") != 0 && sizeof($d["product_id"]) == 1) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_ALREADY'));
         return false;
     } else {
         $container = $d["product_id"];
         while ($db->next_record()) {
             foreach ($d["product_id"] as $prod_id) {
                 if ($prod_id != $db->f("product_id")) {
                     $temp[] = $prod_id;
                 }
             }
             $d["product_id"] = $temp;
             unset($temp);
         }
         if (empty($d["product_id"])) {
             $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_ALREADY'));
             $d["product_id"] = $container;
             return false;
         }
         return True;
     }
 }
Esempio n. 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 .= "]";
     }
 }
Esempio n. 5
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;
    }
}
 /**
  * Validates the Input Parameters on price add/update
  *
  * @param array $d
  * @return boolean
  */
 function validate(&$d)
 {
     global $vmLogger, $VM_LANG;
     $valid = true;
     if (!isset($d["product_price"]) || $d["product_price"] === '') {
         $vmLogger->err($VM_LANG->_('VM_PRODUCT_PRICE_MISSING', false));
         $valid = false;
     }
     if (empty($d["product_id"])) {
         $vmLogger->err($VM_LANG->_('VM_PRODUCT_ID_MISSING', false));
         $valid = false;
     }
     // convert all "," in prices to decimal points.
     if (stristr($d["product_price"], ",")) {
         $d['product_price'] = floatval(str_replace(',', '.', $d["product_price"]));
     }
     if (!$d["product_currency"]) {
         $vmLogger->err($VM_LANG->_('VM_PRODUCT_PRICE_CURRENCY_MISSING', false));
         $valid = false;
     }
     $d["price_quantity_start"] = intval(@$d["price_quantity_start"]);
     $d["price_quantity_end"] = intval(@$d["price_quantity_end"]);
     if ($d["price_quantity_end"] < $d["price_quantity_start"]) {
         $vmLogger->err($VM_LANG->_('VM_PRODUCT_PRICE_QEND_LESS', false));
         $valid = false;
     }
     $db = new ps_DB();
     $q = "SELECT count(*) AS num_rows FROM #__{vm}_product_price WHERE";
     if (!empty($d["product_price_id"])) {
         $q .= " product_price_id != '" . $d['product_price_id'] . "' AND";
     }
     $q .= " shopper_group_id = '" . $d["shopper_group_id"] . "'";
     $q .= " AND product_id = '" . $d['product_id'] . "'";
     $q .= " AND product_currency = '" . $d['product_currency'] . "'";
     $q .= " AND (('" . $d['price_quantity_start'] . "' >= price_quantity_start AND '" . $d['price_quantity_start'] . "' <= price_quantity_end)";
     $q .= " OR ('" . $d['price_quantity_end'] . "' >= price_quantity_start AND '" . $d['price_quantity_end'] . "' <= price_quantity_end))";
     $db->query($q);
     $db->next_record();
     if ($db->f("num_rows") > 0) {
         $vmLogger->err($VM_LANG->_('VM_PRODUCT_PRICE_ALREADY', false));
         $valid = false;
     }
     return $valid;
 }
 /**
  * Validates the Input Parameters onBeforeProductTypeAdd
  * @author Zdenek Dvorak
  * @param array $d
  * @return boolean
  */
 function validate_add(&$d)
 {
     global $VM_LANG;
     if (empty($d["product_type_id"])) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_SELECT'));
         return False;
     }
     if (empty($d["product_id"])) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_SELECT_PRODUCT'));
         return false;
     }
     $db = new ps_DB();
     $q = "SELECT COUNT(*) AS count FROM #__{vm}_product_product_type_xref ";
     $q .= "WHERE product_id='" . $d["product_id"] . "' AND product_type_id='" . $d["product_type_id"] . "'";
     $db->query($q);
     if ($db->f("count") != 0) {
         $GLOBALS['vmLogger']->err($VM_LANG->_('VM_PRODUCT_TYPE_ERR_ALREADY'));
         return false;
     } else {
         return True;
     }
 }
" href="<?php 
    $sess->purl(SECUREURL . "index.php?page=shop.downloads");
    ?>
">
        <?php 
    echo $VM_LANG->_('PHPSHOP_DOWNLOADS_TITLE');
    ?>
        </a>
    </td>
  </tr><?php 
}
// Show a link to the cart and show the mini cart
// Check to see if minicart module is published, if it is prevent the minicart displaying in the VM module
$q = "SELECT published FROM #__modules WHERE module='mod_virtuemart_cart'";
$db->query($q);
if (USE_AS_CATALOGUE != '1' && $show_minicart == 'yes' && !$db->f("published")) {
    $_SESSION['vmMiniCart'] = true;
    ?>
    <tr>
        <td colspan="2">
        	<?php 
    $class_att = 'class="' . $class_mainlevel . '"';
    $href = $sess->url($mm_action_url . "index.php?page=shop.cart");
    $href2 = $sess->url($mm_action_url . "index2.php?page=shop.cart", true);
    $text = $VM_LANG->_('PHPSHOP_CART_SHOW');
    if ($useGreyBox_cartlink) {
        echo vmCommonHTML::getGreyboxPopUpLink($href2, $text, '', $text, $class_att, 500, 600, $href);
    } else {
        echo vmCommonHTML::hyperlink($href, $text, '', $text, $class_att);
    }
    ?>
    /**
     * 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;
    }
Esempio n. 10
0
$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);
        if ($db->next_record() && $db->f('authority') == 'ADMIN') {
            $_SESSION['username'] = $username;
            $_SESSION['name'] = $db->f('name');
            $_SESSION['authority'] = $db->f('authority');
            $_SESSION['userID'] = $db->f('ID');
            ?>
		<script language="javascript">
		document.location="index.php";
		</script>
		<?php 
        } else {
            unset($_SESSION['name']);
            unset($_SESSION['username']);
            unset($_SESSION['authority']);
            unset($_SESSION['userID']);
            $errormsg = $_LOGIN_ERRORMSG;
Esempio n. 11
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;
     }
 }
Esempio n. 12
0
 // Price: xx.xx EUR
 if (_SHOW_PRICES == '1' && $auth['show_prices']) {
     $product_price = $ps_product->show_price($db_browse->f("product_id"));
 } else {
     $product_price = "";
 }
 // @var array $product_price_raw The raw unformatted Product Price in Float Format
 $product_price_raw = $ps_product->get_adjusted_attribute_price($db_browse->f('product_id'));
 // i is the index for the array holding all products, we need to show. to allow sorting by discounted price,
 // we need to use the price as first part of the index name!
 $i = $product_price_raw['product_price'] . '_' . ++$counter;
 if ($db_browse->f("product_thumb_image")) {
     $product_thumb_image = $db_browse->f("product_thumb_image");
 } else {
     if ($product_parent_id != 0) {
         $product_thumb_image = $dbp->f("product_thumb_image");
         // Use product_thumb_image from Parent Product
     } else {
         $product_thumb_image = 0;
     }
 }
 if ($product_thumb_image) {
     if (substr($product_thumb_image, 0, 4) != "http") {
         if (PSHOP_IMG_RESIZE_ENABLE == '1') {
             $product_thumb_image = $mosConfig_live_site . "/components/com_virtuemart/show_image_in_imgtag.php?filename=" . urlencode($product_thumb_image) . "&amp;newxsize=" . PSHOP_IMG_WIDTH . "&amp;newysize=" . PSHOP_IMG_HEIGHT . "&amp;fileout=";
         } elseif (!file_exists(IMAGEPATH . "product/" . $product_thumb_image)) {
             $product_thumb_image = VM_THEMEURL . 'images/' . NO_IMAGE;
         }
     }
 } else {
     $product_thumb_image = VM_THEMEURL . 'images/' . NO_IMAGE;
		<td><?php 
echo ps_shopper_group::list_shopper_groups("shopper_group_id", $db->sf("shopper_group_id"));
?>
      </td>
	</tr>
	<tr>
		<td colspan="2" height="2">&nbsp;</td>
	</tr>
	<tr>
		<td class="labelcell"><?php 
echo $VM_LANG->_('PHPSHOP_PRODUCT_LIST_QUANTITY_START');
?>
:</td>
		<td><input type="text"
			value="<?php 
echo $db->f("price_quantity_start");
?>
" size="11"
			name="price_quantity_start" /></td>
	</tr>
	<tr>
		<td class="labelcell"><?php 
echo $VM_LANG->_('PHPSHOP_PRODUCT_LIST_QUANTITY_END');
?>
:</td>
		<td><input type="text"
			value="<?php 
echo $db->f("price_quantity_end");
?>
" size="11"
			name="price_quantity_end" /></td>
Esempio n. 14
0
$menu_htmlcode .= "<link rel=\"stylesheet\" href=\"{$js_src}/dtree/dtree.css\" type=\"text/css\" />\n";
$menu_htmlcode .= "<script type=\"text/javascript\" src=\"{$js_src}/dtree/dtree.js\"></script>\n";
$menu_htmlcode .= "<script type=\"text/javascript\">\n";
// create the tree, using the unique name
// pass the live_site parameter on so dTree can find the icons
$menu_htmlcode .= "{$tree} = new dTree('{$tree}',\"{$js_src}\");\n";
// pass on the dTree API parameters
$menu_htmlcode .= "{$tree}.config.useSelection=" . $useSelection . ";\n";
$menu_htmlcode .= "{$tree}.config.useLines=" . $useLines . ";\n";
$menu_htmlcode .= "{$tree}.config.useIcons=" . $useIcons . ";\n";
$menu_htmlcode .= "{$tree}.config.useCookies=" . $useCookies . ";\n";
$menu_htmlcode .= "{$tree}.config.useStatusText=" . $useStatusText . ";\n";
$menu_htmlcode .= "{$tree}.config.closeSameLevel=" . $closeSameLevel . ";\n";
$basename = $_REQUEST['root_label'];
// what is the ID of this node?
$baseid = $db->f("category_parent_id");
// create the link (if not a menu item, no link [could be: to entry page of site])
$baselink = $base == "first" ? $sess->url($mm_action_url . 'index.php?page=' . HOMEPAGE) : "";
// remember which item is open, normally $Itemid
// except when we want the first item (e.g. Home) to be the base;
// in that case we have to pretend all remaining items belong to "Home"
$openid = $category_id;
// it could be that we are displaying e.g. mainmenu in this dtree,
// but item in usermenu is selected,
// so: for the rest of this module track if this menu contains the selected item
// Default value: first node (=baseid), but not selected
$opento = $baseid;
$opento_selected = "false";
// what do you know... the first node was selected
if ($baseid == $openid) {
    $opento_selected = "true";
Esempio n. 15
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;
 }
Esempio n. 16
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;
    }
Esempio n. 17
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;
        $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;
    }
 /**
  * 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");
 }
Esempio n. 19
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;
 }
Esempio n. 20
0
    $file->product_name = $db->f('product_name');
    $file->file_url = IMAGEURL . 'product/' . $db->f('file_name');
    $file->product_thumb_image = $db->f('product_thumb_image');
    $file->file_title = $db->f('file_name');
    $file->file_is_image = 1;
    $file->file_product_id = $product_id;
    $file->file_extension = strrchr($db->f('file_name'), '.');
    $file->file_published = $db->f('product_publish');
    $files[] = $file;
}
$dbf = new ps_DB();
$sql = 'SELECT attribute_value FROM #__{vm}_product_attribute WHERE `product_id` = ' . $product_id . ' AND attribute_name=\'download\'';
$dbf->query($sql);
$downloadFiles = array();
while ($dbf->next_record()) {
    $downloadFiles[] = $dbf->f('attribute_value');
}
$q = "SELECT file_id, file_is_image, file_product_id, file_extension, file_url, file_published, file_name, file_title, file_image_thumb_height, file_image_thumb_width FROM #__{vm}_product_files  ";
$q .= "WHERE file_product_id = '{$product_id}' ";
$q .= "ORDER BY file_is_image DESC";
$db->query($q);
$db->next_record();
if (!empty($files)) {
    $db->record = array_merge($files, $db->record);
}
if ($db->num_rows() < 1 && $task != "cancel") {
    vmRedirect($_SERVER['PHP_SELF'] . "?option=com_virtuemart&page=product.file_form&product_id={$product_id}&no_menu=" . @$_REQUEST['no_menu']);
}
$db->reset();
$arr = array();
$arr2 = array();
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 );
	
	echo "</td></tr>";
}
        $q .= " AND product_in_stock > 0 ";
    }
    $q .= "ORDER BY product_name DESC";
} else {
    $q = "SELECT DISTINCT product_sku FROM #__{vm}_product WHERE ";
    $q .= "product_parent_id='' AND vendor_id='" . $_SESSION['ps_vendor_id'] . "' ";
    $q .= "AND #__{vm}_product.product_publish='Y' ";
    if (CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {
        $q .= " AND product_in_stock > 0 ";
    }
    $q .= "ORDER BY product_name DESC";
}
$db->query($q);
$i = 0;
while ($db->next_record()) {
    $prodlist[$i] = $db->f("product_sku");
    $i++;
}
if ($db->num_rows() == 0) {
    return;
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <?php 
srand((double) microtime() * 10000000);
if (sizeof($prodlist) < $max_items) {
    $max_items = sizeof($prodlist);
}
if (sizeof($prodlist) > 1) {
    $rand_prods = array_rand($prodlist, $max_items);
} else {
Esempio n. 23
0
    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>
	</fieldset>
         <?php 
}
require_once CLASSPATH . 'ps_userfield.php';
// Get only those fields that are NOT system fields
$userFields = ps_userfield::getUserFields('account');
Esempio n. 24
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;
     }
 }
Esempio n. 25
0
require_once CLASSPATH . 'ps_order_status.php';
require_once CLASSPATH . 'ps_userfield.php';
require_once CLASSPATH . 'ps_checkout.php';
require_once CLASSPATH . 'ps_product.php';
$ps_product = new ps_product();
$tpl = vmTemplate::getInstance();
$print = vmGet($_REQUEST, 'pop', 0);
$order_id = vmGet($_REQUEST, 'order_id', 0);
$tpl->set('print', $print);
$tpl->set('order_id', $order_id);
$db = new ps_DB();
$q = "SELECT * FROM `#__{vm}_orders` WHERE ";
$q .= "user_id=" . $auth["user_id"] . " AND order_id='{$order_id}'";
$db->query($q);
if ($db->next_record()) {
    $mainframe->setPageTitle($VM_LANG->_('PHPSHOP_ACC_ORDER_INFO') . ' : ' . $VM_LANG->_('PHPSHOP_ORDER_LIST_ID') . ' ' . $db->f('order_id'));
    require_once CLASSPATH . 'ps_product_category.php';
    // Set the CMS pathway
    $pathway = array();
    $pathway[] = $vm_mainframe->vmPathwayItem($VM_LANG->_('PHPSHOP_ACCOUNT_TITLE'), $sess->url(SECUREURL . 'index.php?page=account.index'));
    $pathway[] = $vm_mainframe->vmPathwayItem($VM_LANG->_('PHPSHOP_ACC_ORDER_INFO'));
    $vm_mainframe->vmAppendPathway($pathway);
    // 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();
Esempio n. 26
0
    $listObj->newRow();
    // The row number
    $listObj->addCell($pageNav->rowNumber($i));
    $condition = $user_id == $my->id ? false : true;
    // The Checkbox
    $listObj->addCell(vmCommonHTML::idBox($i, $user_id, !$condition, "user_id"));
    $url = $_SERVER['PHP_SELF'] . "?page={$modulename}.user_form&user_id={$user_id}";
    $tmp_cell = '<a href="' . $sess->url($url) . '">' . $db->f("username") . "</a>";
    $listObj->addCell($tmp_cell);
    $listObj->addCell($db->f("first_name") . " " . $db->f("middle_name") . " " . $db->f("last_name"));
    $listObj->addCell($db->f("perms") . ' / (' . $db->f("usertype") . ')');
    if ($db->f("user_id")) {
        $q = "SELECT shopper_group_name FROM #__{vm}_shopper_group, #__{vm}_shopper_vendor_xref WHERE ";
        $q .= "#__{vm}_shopper_vendor_xref.user_id={$user_id} AND #__{vm}_shopper_vendor_xref.shopper_group_id=#__{vm}_shopper_group.shopper_group_id";
        $dbs->query($q);
        $dbs->next_record();
        $tmp_cell = $dbs->f("shopper_group_name");
    } else {
        $tmp_cell = "";
    }
    $listObj->addCell($tmp_cell);
    if ($condition) {
        $listObj->addCell($ps_html->deleteButton("user_id", $user_id, "userDelete", $keyword, $limitstart));
    } else {
        $listObj->addCell('');
    }
    $i++;
}
$listObj->writeTable();
$listObj->endTable();
$listObj->writeFooter($keyword);
Esempio n. 27
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;
     }
 }
Esempio n. 28
0
 /**
  * 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];
 }
Esempio n. 29
0
 /**
  * Отправка письма грузополучателю
  *
  * @param type $order_id
  * @return boolean
  */
 function sendEmail($order_id, $status = null)
 {
     return;
     global $sess, $VM_LANG, $vmLogger;
     $url = SECUREURL . "index.php?option=com_virtuemart&page=account.order_details&order_id=" . $order_id . '&order_key=' . md5('AIR' . $order_id . 'SOFT' . $order_id . 'RETAIL') . '&Itemid=' . $sess->getShopItemid();
     $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/user_email_tracking.php';
     $message = ob_get_contents();
     ob_end_clean();
     $mail_Body = $message;
     //	  $mail_Body = html_entity_decode($message);
     $result = vmMail($dbv->f("contact_email"), $dbv->f("vendor_name"), $db->f("user_email"), $status, $mail_Body, '', true);
     return $result;
 }
Esempio n. 30
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');
 }