function sendEmailOnPurcaseAdmin($course_id, $order_id, $order_expiration, $plan_id) { if ($this->getEmailProgramReminders()) { require_once JPATH_ROOT . DS . 'components' . DS . 'com_guru' . DS . 'helpers' . DS . 'cronjobs.php'; $order_expiration = date("Y-m-d H:m:s", $order_expiration); sendEmailOnPurcase($course_id, $order_id, $order_expiration, $plan_id); } }
function proccessSuccess($controller, $result, $stop = false) { global $Itemid; $app = JFactory::getApplication("site"); require_once JPATH_COMPONENT . DS . 'helpers' . DS . 'cronjobs.php'; $db = JFactory::getDBO(); $customer_id = isset($result["customer_id"]) ? $result["customer_id"] : $result["user_id"]; $order_id = isset($result["order_id"]) ? $result["order_id"] : $result["sid"]; $price = $result["price"]; $sql = "select status from #__guru_order where id=" . intval($order_id); $db->setQuery($sql); $db->query(); $orderstatus = $db->loadResult(); $sql = "select processor from #__guru_order where id=" . intval($order_id); $db->setQuery($sql); $db->query(); $processor_payment = $db->loadResult(); $sql = "select promocodeid from #__guru_order where id=" . intval($order_id); $db->setQuery($sql); $db->query(); $promocodeid = $db->loadResult(); $sql = "select currency from #__guru_config where id=1"; $db->setQuery($sql); $db->query(); $currency = $db->loadResult(); if (isset($orderstatus) && trim($orderstatus) == "Pending") { //----------- set expiration courses $all_plans = $this->getPlanExpiration(); $jnow = JFactory::getDate(); $order_date = $jnow->toSQL(); $sql = "select courses from #__guru_order where id=" . intval($order_id); $db->setQuery($sql); $db->query(); $courses = $db->loadResult(); if (isset($courses) && trim($courses) != "") { $all_courses = explode("|", $courses); if (isset($all_courses) && is_array($all_courses) && count($all_courses) > 0) { foreach ($all_courses as $key => $value) { $temp1 = explode("-", $value); $course_id = $temp1["0"]; $plan_id = $temp1["2"]; $allpricecourse = $temp1["1"]; $sql = "select plan_id from #__guru_buy_courses where userid=" . intval($customer_id) . " and course_id=" . intval($course_id); $db->setQuery($sql); $db->query(); $old_plan_id = $db->loadResult(); if (strpos($old_plan_id, "|") !== FALSE) { $temp = explode("|", $old_plan_id); $plan_id = $temp["1"]; } $order_expiration = ""; $order_date_int = $this->getCurrentDate(strtotime($order_date), $course_id, $customer_id); if ($all_plans[$plan_id]["period"] == "hours" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " hours", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "months" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " month", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "years" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " year", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "days" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " days", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "weeks" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " weeks", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } else { //for unlimited $order_expiration = "0000-00-00 00:00:00"; } $sql = "update #__guru_buy_courses set buy_date='" . $order_date . "', expired_date='" . $order_expiration . "', plan_id=" . $plan_id . ", email_send=0, order_id=" . intval($order_id) . " where userid=" . intval($customer_id) . " and course_id=" . intval($course_id); $db->setQuery($sql); $db->query(); //-----------------send email sendEmailOnPurcase($course_id, $order_id, $order_expiration, $plan_id); //-----------------send email // start teacher commission calculation $sql = "select author from #__guru_program where id=" . intval($course_id); $db->setQuery($sql); $db->query(); $author = $db->loadResult(); $sql = "select commission_id from #__guru_authors where userid=" . intval($author); $db->setQuery($sql); $db->query(); $commission_id = $db->loadResult(); $sql = "select teacher_earnings from #__guru_commissions where id=" . intval($commission_id); $db->setQuery($sql); $db->query(); $teacher_earnings = $db->loadResult(); $amount_paid_author = $teacher_earnings * $price / 100; $sql = "INSERT INTO `#__guru_authors_commissions` (`author_id`, `course_id`, `plan_id`, `order_id`, `customer_id`, `commission_id`, `price`, `price_paid`, `amount_paid_author`, `promocode_id`, `status_payment`, `payment_method`, `data`, `currency`) VALUES('" . intval($author) . "', " . intval($course_id) . ", " . $plan_id . ", '" . intval($order_id) . "', '" . intval($customer_id) . "', '" . $commission_id . "', '" . $allpricecourse . "', '" . $price . "', '" . $amount_paid_author . "', '" . $promocodeid . "', 'pending', '" . $processor_payment . "', '" . $order_date . "', '" . $currency . "')"; $db->setQuery($sql); $db->query(); // end teacher commission calculation } } } //----------- $sql = "update #__guru_order set `order_date`='" . $order_date . "', `status`='Paid', `amount`='" . $price . "', `amount_paid`='" . $price . "', form='' where id=" . $order_id; $db->setQuery($sql); $db->query(); //$app->redirect(JRoute::_("index.php?option=com_guru&view=guruorders&layout=mycourses&Itemid=".$item_id)); } $app->redirect("index.php?option=com_guru&view=guruorders&layout=myorders&Itemid=" . $item_id, JText::_("GURU_PAYMENT_SUCCESSFULLY")); return true; }
function proccessWait($controller, $result) { global $Itemid; $var_processor = $_SESSION["processor"]; $app = JFactory::getApplication("site"); $promo_code = $_SESSION["promo_code"]; unset($_SESSION["courses_from_cart"]); unset($_SESSION["renew_courses_from_cart"]); unset($_SESSION["promo_code"]); unset($_SESSION["max_total"]); unset($_SESSION["order_id"]); unset($_SESSION["promocode"]); unset($_SESSION["processor"]); if ($var_processor == 'offline') { $db = JFactory::getDBO(); $order_id = $result["order_id"]; $jnow = JFactory::getDate(); $order_date = $jnow->toSQL(); $all_plans = $this->getPlanExpiration(); if (trim($promo_code) != "") { $sql = "update `#__guru_promos` set `codeused` = `codeused` + 1 where `code`='" . addslashes(trim($promo_code)) . "'"; $db->setQuery($sql); $db->query(); } $sql = "select `userid`, `courses` from #__guru_order where id=" . intval($order_id); $db->setQuery($sql); $db->query(); $result = $db->loadAssocList(); $courses = $result["0"]["courses"]; $customer_id = $result["0"]["userid"]; if (isset($courses) && trim($courses) != "") { $all_courses = explode("|", $courses); if (isset($all_courses) && is_array($all_courses) && count($all_courses) > 0) { foreach ($all_courses as $key => $value) { $temp1 = explode("-", $value); $course_id = $temp1["0"]; $plan_id = $temp1["2"]; $allpricecourse = $temp1["1"]; $sql = "select plan_id from #__guru_buy_courses where userid=" . intval($customer_id) . " and course_id=" . intval($course_id); $db->setQuery($sql); $db->query(); $old_plan_id = $db->loadResult(); if (strpos($old_plan_id, "|") !== FALSE) { $temp = explode("|", $old_plan_id); $plan_id = $temp["1"]; } $order_expiration = ""; $order_date_int = $this->getCurrentDate(strtotime($order_date), $course_id, $customer_id); if ($all_plans[$plan_id]["period"] == "hours" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " hours", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "months" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " month", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "years" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " year", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "days" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " days", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } elseif ($all_plans[$plan_id]["period"] == "weeks" && $all_plans[$plan_id]["term"] != "0") { $order_expiration = strtotime("+" . $all_plans[$plan_id]["term"] . " weeks", $order_date_int); $order_expiration = date('Y-m-d H:i:s', $order_expiration); } else { //for unlimited $order_expiration = "0000-00-00 00:00:00"; } $sql = "update #__guru_buy_courses set buy_date='" . $order_date . "', expired_date='" . $order_expiration . "', plan_id=" . $plan_id . ", email_send=0, order_id=" . intval($order_id) . " where userid=" . intval($customer_id) . " and course_id=" . intval($course_id); $db->setQuery($sql); $db->query(); //-----------------send email require_once JPATH_COMPONENT . DS . 'helpers' . DS . 'cronjobs.php'; sendEmailOnPurcase($course_id, $order_id, $order_expiration, $plan_id); //-----------------send email } } } $app->redirect(JRoute::_("index.php?option=com_guru&view=guruorders&layout=myorders&Itemid=" . intval($item_id), false)); } else { $app->redirect(JRoute::_("index.php?option=com_guru&view=guruorders&layout=mycourses&Itemid=" . intval($item_id), false)); } return true; }