public static function inventoryTable() { $columns = array('id', 'item_number', 'name', 'options_1', 'options_2'); if (isset($_GET['iSortCol_0'])) { $sortingColumns = array(0 => 0, 1 => 1, 2 => 2, 3 => 3, 4 => 4); $_GET['iSortCol_0'] = $sortingColumns[$_GET['iSortCol_0']]; } $indexColumn = "id"; $tableName = Cart66Common::getTableName('products'); $where = self::dataTablesWhere($columns); $limit = self::dataTablesLimit() == '' ? null : self::dataTablesLimit(); $order = self::dataTablesOrder($columns); $iTotal = self::totalRows($indexColumn, $tableName); $iFilteredTotal = self::filteredRows($indexColumn, $tableName, $where); $data = array(); $product = new Cart66Product(); $products = $product->getModels($where, $order, $limit); $save = false; $ikeyList = array(); foreach ($products as $p) { $p->insertInventoryData(); $combos = $p->getAllOptionCombinations(); if (count($combos)) { foreach ($combos as $c) { $k = $p->getInventoryKey($c); $ikeyList[] = $k; if ($save) { $p->updateInventoryFromPost($k); } $data[] = array($p->isInventoryTracked($k), $p->item_number, $p->name, $c, $p->getInventoryCount($k), $k); } } else { $k = $p->getInventoryKey(); $ikeyList[] = $k; if ($save) { $p->updateInventoryFromPost($k); } $data[] = array($p->isInventoryTracked($k), $p->item_number, $p->name, $c = '', $p->getInventoryCount($k), $k); } } if ($save) { $p->pruneInventory($ikeyList); } $array = array('sEcho' => $_GET['sEcho'], 'iTotalRecords' => $iTotal[0], 'iTotalDisplayRecords' => $iFilteredTotal[0], 'aaData' => $data); echo json_encode($array); die; }
<h2><?php _e('Cart66 Inventory Tracking', 'cart66'); ?> </h2> <?php // Get a list of all products $product = new Cart66Product(); $products = $product->getModels('where id>0', 'order by name', '1'); $save = false; if ($_SERVER['REQUEST_METHOD'] == "POST" && $_POST['cart66-task'] == 'save-inventory-form') { $save = true; $product->updateInventoryFromPost($_REQUEST); ?> <script type="text/javascript"> (function($){ $(document).ready(function(){ $("#Cart66SuccessBox").show().delay(1000).fadeOut('slow'); }) })(jQuery); </script> <div id='Cart66SuccessBox' style='width: 300px;'><p class='alert-message success'><?php _e('Inventory updated', 'cart66'); ?> </p></div> <?php } $setting = new Cart66Setting(); $track = Cart66Setting::getValue('track_inventory'); $wpurl = get_bloginfo('wpurl'); if (CART66_PRO) {
<?php $product = new Cart66Product(); $totalProductCount = count($product->getModelsNoClass()); if (Cart66Setting::getValue('page_product_report')) { $productPageInterval = $totalProductCount > 50 ? 25 : 50; $productPageInterval = Cart66Setting::getValue('page_product_report_size') ? Cart66Setting::getValue('page_product_report_size') : $productPageInterval; } else { $productPageInterval = $totalProductCount; } $productPageInterval = isset($_GET['perpage']) ? $_GET['perpage'] : $productPageInterval; $productPageStart = isset($_GET['start']) ? $_GET['start'] : 0; $productPageEnd = isset($_GET['end']) ? $_GET['end'] : $productPageStart + $productPageInterval; $products = $product->getModels('where id>0', 'order by name', $productPageStart . ',' . $productPageInterval); if (Cart66Setting::getValue('page_product_report')) { echo "<h1>Reports are paged at "; echo Cart66Setting::getValue('page_product_report_size') ? Cart66Setting::getValue('page_product_report_size') : 25; echo " products per page.</h1>"; } if (CART66_PRO) { if (count($products)) { $today = date('m/d/Y', Cart66Common::localTs()); $salesGrandTotal = 0; $incomeGrandTotal = 0; ?> <table class="Cart66TableMed"> <tr> <th colspan="2"><?php _e('Product Name', 'cart66'); ?> </th>
public static function shortcodeProductsTable() { global $wpdb; $prices = array(); $types = array(); //$options=''; $postId = Cart66Common::postVal('id'); $product = new Cart66Product(); $products = $product->getModels("where id={$postId}", "order by name"); $data = array(); foreach ($products as $p) { if ($p->itemNumber == "") { $type = 'id'; } else { $type = 'item'; } $types[] = htmlspecialchars($type); if (CART66_PRO && $p->isPayPalSubscription()) { $sub = new Cart66PayPalSubscription($p->id); $subPrice = strip_tags($sub->getPriceDescription($sub->offerTrial > 0, '(trial)')); $prices[] = htmlspecialchars($subPrice); Cart66Common::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] subscription price in dialog: {$subPrice}"); } else { $prices[] = htmlspecialchars(strip_tags($p->getPriceDescription())); } //$options .= '<option value="'.$id.'">'.$p->name.' '.$description.'</option>'; $data[] = array('type' => $types, 'price' => $prices, 'item' => $p->itemNumber); } echo json_encode($data); die; }
public static function getMembershipProducts() { global $wpdb; $memberships = array(); $product = new Cart66Product(); $products = $product->getModels('where is_membership_product=1'); foreach ($products as $p) { if ($p->isMembershipProduct()) { $memberships[] = $p; } } return $memberships; }
/utils/form_utils.js"></script> <script type="text/javascript" src="<?php echo get_bloginfo('wpurl'); ?> /wp-includes/js/jquery/jquery.js"></script> <script language="javascript" type="text/javascript"> <!-- var $jq = jQuery.noConflict(); tinyMCEPopup.onInit.add( function(){window.setTimeout(function(){$jq('#productName').focus();},500);} ); <?php $prices = array(); $types = array(); $options = ''; $products = $product->getModels("where id>0", "order by name"); if (count($products)) { $i = 0; foreach ($products as $p) { if ($p->itemNumber == "") { $id = $p->id; $type = 'id'; $description = ""; } else { $id = $p->itemNumber; $type = 'item'; $description = '(# ' . $p->itemNumber . ')'; } $types[] = htmlspecialchars($type); if (CART66_PRO && $p->isPayPalSubscription()) { $sub = new Cart66PayPalSubscription($p->id);