예제 #1
0
 function __construct(&$subject, $config)
 {
     parent::__construct($subject, $config);
 }
예제 #2
0
 function onBeforeStartComponent()
 {
     $db = JFactory::getDBO();
     $query = $db->getQuery(true);
     $query->select('id,params')->from('#__ksenmart_discounts')->where('type=' . $db->quote($this->_name))->where('enabled=1');
     $db->setQuery($query);
     $discounts = $db->loadObjectList();
     foreach ($discounts as $discount) {
         $return = $this->onCheckDiscountDate($discount->id);
         if (!$return) {
             continue;
         }
         $return = $this->onCheckDiscountCountry($discount->id);
         if (!$return) {
             continue;
         }
         $return = $this->onCheckDiscountUserGroups($discount->id);
         if (!$return) {
             continue;
         }
         $return = $this->onCheckDiscountActions($discount->id);
         if ($return == 1) {
             continue;
         }
         $session = JFactory::getSession();
         $user_last_activity = $session->get('com_ksenmart.user_last_activity', null);
         $start_time = $session->get('com_ksenmart.countdown_start_time_' . $discount->id, null);
         $user_sitevisits = $session->get('com_ksenmart.user_sitevisits', 0);
         $discount->params = json_decode($discount->params, true);
         if (!empty($discount->params['clear_time']) && $user_last_activity + $discount->params['clear_time'] * 60 < time() || empty($user_last_activity) || empty($start_time)) {
             $session->set('com_ksenmart.user_last_visit', time());
             $session->set('com_ksenmart.countdown_start_time_' . $discount->id, time());
         }
     }
     parent::onBeforeStartComponent();
 }