/** * Display default page * * @return void */ public function testgroundTask() { if (0) { // CREATE COUPON include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'StorefrontModelCoupon.php'; try { // Constructor take the coupon code $coupon = new StorefrontModelCoupon('hui'); // Coupon description (shows up in the cart) $coupon->setDescription('Test coupon, 10% off product with ID 3'); // Expiration date $coupon->setExpiration('Feb 22, 2022'); // Number of times coupon can be used (unlimited by default) $coupon->setUseLimit(1); // Product the coupon will be applied to: // first parameter: product ID // second parameter [optional, unlimited by default]: max quantity of products coupon will be applied to (if buying multiple) $coupon->addObject(3, 1); // Action, only 'discount' for now // second parameter either percentage ('10%') or absolute dollar value ('20') $coupon->setAction('discount', '10%'); // Add coupon $coupon->add(); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } if (0) { // DELETE COUPON include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Warehouse.php'; $warehouse = new StorefrontModelWarehouse(); try { $warehouse->deleteCoupon('couponcode3'); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } if (0) { // CREATE NEW COURSE include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Course.php'; $course = new StorefrontModelCourse(); $course->setName('Name of the course'); $course->setDescription('Short description'); $course->setPrice(12.0); $course->addToCollection('courses'); // Membership model: membership duration period (must me in MySQL date format: 1 DAY, 2 MONTH, 3 YEAR...) $course->setTimeToLive('1 YEAR'); // Course alias id $course->setCourseId('nanoscaletransistors'); try { // Returns object with values, pId is the new product ID to link to $info = $course->add(); //print_r($info); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } if (0) { // GET EXISTING COURSE, modify it and save include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Warehouse.php'; $warehouse = new StorefrontModelWarehouse(); try { // Get course by pID returned with $course->add() above $course = $warehouse->getCourse(1); $course->setName('Renamed'); $course->setDescription('New description'); $course->setPrice(55.22); $course->setTimeToLive('10 YEAR'); $course->update(); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } if (0) { // UPDATE COURSE by recreating it include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'StorefrontModelCourse.php'; $course = new StorefrontModelCourse(); $course->setName('Operations Management 104'); $course->setDescription('Operations Management 104 is some kind of test course for now...'); $course->setPrice(13.05); $course->setCourseId(5); // Existing course ID (pID returned with $course->add() when the course was created). Must be set to be able to update. $course->setId(1023); try { $info = $course->update(); //print_r($info); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } if (0) { // DELETE COURSE include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Warehouse.php'; $warehouse = new StorefrontModelWarehouse(); // Delete by existing course ID (pID returned with $course->add() when the course was created) $warehouse->deleteProduct(1023); return; } }
/** * Actions to perform after deleting an offering * * @param object $model \Components\Courses\Models\Section * @param boolean $isNew Is this a newly created entry? * @return void */ public function onAfterSaveCoupon($model, $isNew = false) { if (!$model->exists()) { return; } if ($isNew && Request::getInt('store_product', 0)) { include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Coupon.php'; try { // Constructor take the coupon code $coupon = new StorefrontModelCoupon($model->get('code')); // Couponn description (shows up in the cart) $coupon->setDescription(Request::getVar('description', 'Test coupon, 10% off product with ID 111')); // Expiration date $coupon->setExpiration($model->get('created')); // Number of times coupon can be used (unlimited by default) $coupon->setUseLimit(1); // Product the coupon will be applied to: // first parameter: product ID // second parameter [optional, unlimited by default]: max quantity of products coupon will be applied to (if buying multiple) //$section = new CorusesModelSection($model->get('section_id')); include_once PATH_CORE . DS . 'components' . DS . 'com_storefront' . DS . 'models' . DS . 'Course.php'; $product = new StorefrontModelCourse(); $product->set('course_id', $model->find('course')); $coupon->addObject($product->get('product_id'), 1); // Action, only 'discount' for now // second parameter either percentage ('10%') or absolute dollar value ('20') $coupon->setAction('discount', '100%'); // Add coupon $coupon->add(); } catch (Exception $e) { echo 'ERROR: ' . $e->getMessage(); } return; } }
/** * Get coupon * * @param string coupon code * @return StorefrontModelCoupon Instance of a coupon */ public function getCoupon($code) { // Seems like unused code throw new Exception('Not sure if this is ever used. Warehouse.php'); // Create a StorefrontModelCoupon if ($productType == 'product') { $product = new StorefrontModelProduct(); } elseif ($productType == 'course') { $product = new StorefrontModelCourse(); } // Get all product info $productInfo = $this->getProductInfo($pId, true); $product->setType($productInfo->ptId); $product->setId($productInfo->pId); $product->setName($productInfo->pName); $product->setDescription($productInfo->pDescription); $product->setTagline($productInfo->pTagline); $product->setActiveStatus($productInfo->pActive); // Get collections $collections = $this->_getProductCollections($pId); foreach ($collections as $cId) { $product->addToCollection($cId); } // Get SKUs $skus = $this->getProductSkus($pId); // Add SKUs to product foreach ($skus as $sId) { $sku = $this->getSku($sId, $productType); $product->addSku($sku); } $product->verify(); return $product; }