public function addworkAction() { if ($this->isLoggedIn() == 0) { $this->_redirect('/admin/index'); } $this->view->loginStatus = $this->isLoggedIn(); $fitnessWorkouts = new FitnessWorkouts(); $fitnessWorkoutsMulti = new FitnessWorkoutsMultilang(); $fitnessExercises = new FitnessExerciseGeneral(); $fitnessExercisesMulti = new FitnessExerciseGeneralMultilang(); $fitnessTimeframes = new FitnessWorkoutTimeframes(); $fitnessMembers = new FitnessUserMembership(); $fitnessUnlockedWorkouts = new FitnessUserWorkoutsUnlocked(); $fitnessUser = new FitnessUserGeneral(); $listExercises = $fitnessExercises->selectRecordsWorkout(); $exerciseArray = array(); $i = 0; foreach ($listExercises as $exercise) { $exerciseArray[$i]["exercise_id"] = $exercise['workout_id']; $exerciseNameArray = $fitnessExercisesMulti->getWorkoutName($exercise['workout_id'], $this->getDefaultLanguage()); $exerciseArray[$i]["exercise_name"] = $exerciseNameArray['workout_name']; $i = $i + 1; } $exerciseArray = $this->array_sort_by_column($exerciseArray, 'exercise_name'); $this->view->listExercises = $exerciseArray; $this->view->listtimeframes = $fitnessTimeframes->listTimeframes(); $workArray = array(); $workMultiArray = array(); if ($this->_request->isPost()) { //$workImage = $_FILES["work_image"]["name"]; $workArray['work_name'] = $this->_request->getPost('work_name'); $workArray['work_image_list'] = ""; $workArray['work_exercises'] = rtrim($this->_request->getPost("exerciseslist"), ","); $workArray['work_duration'] = ""; $workArray['work_recovery_time'] = ""; $workArray['work_recovery_interval'] = ""; $workArray['work_filter'] = rtrim($this->_request->getPost("filterlist"), ","); $workArray['description_small'] = $this->_request->getPost("description_small"); $workArray['description_big'] = $this->_request->getPost("description_big"); $workArray['work_level'] = $this->_request->getPost('work_level'); // print_r($workArray);exit; $fitnessWorkouts->addData($workArray); $workID = $fitnessWorkouts->getLastWorkId(); $workMultiArray['work_name'] = $this->_request->getPost('work_name'); $workMultiArray['work_id'] = $workID['id']; $workMultiArray['lang_id'] = $this->getDefaultLanguage(); $workMultiArray['description_small'] = $this->_request->getPost("description_small"); $workMultiArray['description_big'] = $this->_request->getPost("description_big"); $fitnessWorkoutsMulti->addData($workMultiArray); //check if members exists and add the workout to their unlocked list $memberData = $fitnessMembers->getAllMemberIds(); $unlockedArray = array(); foreach ($memberData as $userId) { $unlockedArray['user_id'] = $userId['user_id']; $unlockedArray['workout_id'] = $workID['id']; $unlockedArray['workout_purchase_status'] = "true"; $unlockedArray['unlocked_date'] = date('Y-m-d'); $unlockedArray['unlocked_status'] = 1; $fitnessUnlockedWorkouts->addData($unlockedArray); } $this->_redirect('/admin/listworks'); } }
/** * 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; } }