public function userstatsAction() { $fitnessPromotion = new FitnessPromotionCodes(); $fitnessUser = new FitnessUserGeneral(); $promotionUsers = new FitnessPromotionUsers(); //get the number of users registered through iphone and android $usersIphone = $fitnessUser->getIphoneUserCount(); $usersAndroid = $fitnessUser->getAndroidUserCount(); //get the users from website $usersWeb = $fitnessUser->getUserCount(); foreach ($usersWeb as $web) { $usersweb[] = $web['user_id']; } //get users who have used promotion codes $userspromo = array(); $usersPromotion = $promotionUsers->getPromotionUsers(); foreach ($usersPromotion as $promo) { $userspromo[] = $promo['user_id']; } $usersWebFinal = array_diff($usersweb, $userspromo); //get all promotion ids $promotionsIds = $fitnessPromotion->getCodes(); $i = 0; foreach ($promotionsIds as $ids) { $promotionsUsers[$i]['promotion_name'] = $ids['promotion_code']; $promoUsers = $promotionUsers->getUsersByCode($ids['id']); $promotionsUsers[$i]['promotion_users'] = $promoUsers[0]['count']; $i = $i + 1; } $this->view->usersIphone = $usersIphone['count']; $this->view->usersAndroid = $usersAndroid['count']; $this->view->usersWeb = count($usersWebFinal); $this->view->promotionData = $promotionsUsers; }
/** * 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; } }