Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }