public function viewuserAction() { if ($this->isLoggedIn() == 0) { $this->_redirect('/admin/index'); } $this->view->loginStatus = $this->isLoggedIn(); $fitnessUserGeneral = new FitnessUserGeneral(); $fitnessUserSettings = new FitnessUserSettings(); $fitnessTargets = new FitnessTargets(); $fitnessInterest = new FitnessInterests(); $fitnessworkoutsDone = new FitnessUserWorkoutsDone(); $fitnessworkoutGeneralMulti = new FitnessExerciseGeneralMultilang(); $fitnessworkoutsUnlocked = new FitnessUserWorkoutsUnlocked(); $fitnessworkoutsCustom = new FitnessUserCustomWorkouts(); $fitnessworkoutsMembership = new FitnessUserMembership(); $fitnessMembershipPlans = new FitnessMembershipPlans(); $userId = $this->_request->getParam('userId'); $userSettingsData = $fitnessUserSettings->getUserSettings($userId); $usertargets = explode(",", $userSettingsData["workout_targets"]); $userinterests = explode(",", $userSettingsData["workout_interests"]); $userworkouts = $fitnessworkoutsDone->getUserWorkoutsDone($userId); $userworkoutsUnlocked = $fitnessworkoutsUnlocked->getUserWorkoutsUnlocked($userId); $userworkoutsCustom = $fitnessworkoutsCustom->getUserWorkoutCustom($userId); $userworkoutsMembership = $fitnessworkoutsMembership->getUserMembership($userId); $membershipPlan = $fitnessMembershipPlans->getPlans($userworkoutsMembership['membership_plan']); $userworkoutArray = array(); $userworkoutUnlockedArray = array(); $userworkoutCustomArray = array(); foreach ($usertargets as $targetId) { $targets = $fitnessTargets->getTarget($targetId); $targetName[] = $targets['target_name']; } foreach ($userinterests as $interestId) { $interest = $fitnessInterest->getInterest($interestId); $interestName[] = $interest['interest_name']; } $i = 0; foreach ($userworkouts as $workout) { $workoutData = $fitnessworkoutGeneralMulti->getWorkoutName($workout['workout_id']); $userworkoutArray[$i]['workout_name'] = $workoutData['workout_name']; $userworkoutArray[$i]['workout_time'] = $workout['workout_time']; $userworkoutArray[$i]['workout_date'] = $workout['workout_done_date']; $i = $i + 1; } $k = 0; foreach ($userworkoutsUnlocked as $workout) { $workoutData = $fitnessworkoutGeneralMulti->getWorkoutName($workout['workout_id']); $userworkoutUnlockedArray[$k]['workout_name'] = $workoutData['workout_name']; $userworkoutUnlockedArray[$k]['workout_status'] = $workout['workout_purchase_status']; $userworkoutUnlockedArray[$k]['workout_date'] = $workout['unlocked_date']; $k = $k + 1; } $j = 0; foreach ($userworkoutsCustom as $custom) { $userworkoutCustomArray[$j]['workout_name'] = $custom['custom_workout_name']; $userworkoutCustomArray[$j]['workout_time'] = $workout['total_workout_time']; $userworkoutCustomArray[$j]['workout_date'] = $workout['date_created']; $j = $j + 1; } $this->view->userGeneralData = $fitnessUserGeneral->getUser($userId); $this->view->userTargetData = implode(",", $targetName); $this->view->userInterestData = implode(",", $interestName); $this->view->userSettingsData = $userSettingsData; $this->view->userWorkoutData = $userworkoutArray; $this->view->userWorkoutUnlockedData = $userworkoutUnlockedArray; $this->view->userWorkoutCustomData = $userworkoutCustomArray; $this->view->userWorkoutMembershipData = $userworkoutsMembership; $this->view->userMembershipName = $membershipPlan['membership_plan']; //get targets from the target model }
/** * 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; } }