Exemplo n.º 1
0
 /**
  * function that tracks the user free /trial period
  * @params user id
  * @author lekha
  * @date 3/22/2012
  * 
  */
 public function checkUserMembership()
 {
     $fitnessUser = new FitnessUserGeneral();
     $fitnessMembership = new FitnessUserMembership();
     $fitnessUnlocked = new FitnessUserWorkoutsUnlocked();
     $fitnessDone = new FitnessUserWorkoutsDone();
     $sess = new Zend_Session_Namespace('UserSession');
     $userDetails = $fitnessUser->getUserbyUsername($sess->username);
     $userMembership = $fitnessMembership->getUserMembership($userDetails['user_id']);
     //get user registration date from database only if user in trial period
     if ($userMembership['trial'] == 1) {
         $registrationDate = $userMembership['registration_date'];
         //get the number of days in the current month
         if ($userMembership['trial_period'] == 1) {
             $monthDays = cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));
         } else {
             $monthdaysFirst = cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));
             $monthdaysSecond = cal_days_in_month(CAL_GREGORIAN, date('m') + 1, date('Y'));
             $monthdaysThird = cal_days_in_month(CAL_GREGORIAN, date('m') + 2, date('Y'));
             $monthDays = $monthdaysFirst + $monthdaysSecond + $monthdaysThird;
         }
         $diff = $this->_date_diff(strtotime($registrationDate), time());
         $purchasedWorkouts = $fitnessUnlocked->getPurchasedWorkouts($userDetails['user_id']);
         foreach ($purchasedWorkouts as $purchased) {
             $pWorkouts[] = $purchased['workout_id'];
         }
         $implodedWorkouts = implode(",", $pWorkouts);
         if ($diff['days'] > $monthDays) {
             //$fitnessUnlocked->setLockStatus($userDetails['user_id'],0,$implodedWorkouts);
             //$fitnessDone->setLockStatus($userDetails['user_id'],0);
             return 0;
         } else {
             return 1;
         }
     } else {
         return 1;
     }
 }