/** * Search Licenses */ static function search($q = NULL, $param = NULL, $product_code = NULL) { $_tbl_licenses = License::getTableName(); $_tbl_licensesUses = LicensesUses::getTableName(); $_tbl_transactions = Transaction::getTableName(); $_tbl_purchases = Purchase::getTableName(); $_tbl_products = Product::getTableName(); $_tbl_plans = Plan::getTableName(); $_tbl_buyers = Buyer::getTableName(); $fields = array("{$_tbl_licenses}.*", DB::raw("COUNT({$_tbl_licensesUses}.id) AS totalUsed"), "{$_tbl_buyers}.first_name", "{$_tbl_buyers}.last_name", "{$_tbl_buyers}.email", "{$_tbl_products}.code", "{$_tbl_plans}.code AS plan_code", "{$_tbl_products}.api_key"); $licenses = DB::table($_tbl_licenses)->leftJoin($_tbl_licensesUses, "{$_tbl_licensesUses}.license_id", '=', "{$_tbl_licenses}.id")->join($_tbl_transactions, "{$_tbl_transactions}.id", '=', "{$_tbl_licenses}.transaction_id")->join($_tbl_plans, "{$_tbl_transactions}.plan_id", '=', "{$_tbl_plans}.id")->join($_tbl_purchases, "{$_tbl_purchases}.id", '=', "{$_tbl_transactions}.purchase_id")->join($_tbl_products, "{$_tbl_products}.id", '=', "{$_tbl_purchases}.product_id")->join($_tbl_buyers, "{$_tbl_buyers}.id", '=', "{$_tbl_purchases}.buyer_id")->select($fields)->groupBy("{$_tbl_licenses}.id"); $q = $q ? $q : Input::get('q'); $param = $param ? $param : Input::get('param'); if ($q) { if ($param == "key") { $licenses = $licenses->where("license_key", '=', $q); } if ($param == "email") { $licenses = $licenses->where("email", '=', $q); } if ($product_code) { $licenses = $licenses->where($_tbl_licenses . ".license_key", 'LIKE', strtoupper($product_code) . '-%'); } } return $licenses->orderBy($_tbl_licenses . '.created_at', 'DESC')->paginate(25); }
static function getRefundQueue() { $_tbl_transactions = Transaction::getTableName(); $_tbl_purchases = Purchase::getTableName(); $_tbl_products = Product::getTableName(); $_tbl_plans = Plan::getTableName(); $_tbl_affiliates = Affiliate::getTableName(); $_tbl_buyers = Buyer::getTableName(); $fields = array("{$_tbl_transactions}.*", "{$_tbl_purchases}.affiliate_id", "{$_tbl_purchases}.product_id", "{$_tbl_products}.name AS product_name", "{$_tbl_plans}.name AS plan_name", "{$_tbl_affiliates}.name AS affiliate_name", "{$_tbl_buyers}.first_name AS buyer_first_name", "{$_tbl_buyers}.last_name AS buyer_last_name", "{$_tbl_buyers}.email AS buyer_email"); $transaction = DB::table($_tbl_transactions)->join($_tbl_purchases, "{$_tbl_purchases}.id", '=', "{$_tbl_transactions}.purchase_id")->join($_tbl_products, "{$_tbl_products}.id", '=', "{$_tbl_purchases}.product_id")->join($_tbl_plans, "{$_tbl_plans}.id", '=', "{$_tbl_transactions}.plan_id")->join($_tbl_buyers, "{$_tbl_buyers}.id", '=', "{$_tbl_purchases}.buyer_id")->leftJoin($_tbl_affiliates, "{$_tbl_affiliates}.id", '=', "{$_tbl_purchases}.affiliate_id")->select($fields); $transaction = $transaction->where("{$_tbl_transactions}.is_refunded", '=', 1)->where("{$_tbl_transactions}.commission_refunded", '=', 0); return $transaction->paginate(25); }