public function editworkoutAction() { if ($this->isLoggedIn() == 0) { $this->_redirect('/admin/index'); } $this->view->loginStatus = $this->isLoggedIn(); $musclesDataList = new FitnessBodyAreas(); $musclesData = new FitnessBodyAreasMultilang(); $equipmentData = new FitnessEquipmentsMultilang(); $timeframesData = new FitnessWorkoutTimeframes(); $fitnessGeneral = new FitnessExerciseGeneral(); $fitnessGeneralMultiLang = new FitnessExerciseGeneralMultilang(); $musclesData = new FitnessBodyAreasMultilang(); $workoutEquipments = new FitnessExerciseEquipments(); $workoutRanking = new FitnessExerciseRanking(); $workoutRepetition = new FitnessExerciseRepetition(); $workoutDegreeDiff = new FitnessExerciseDiffDegree(); $workoutDocuments = new FitnessExerciseDocuments(); $workoutDocumentsMulti = new FitnessExerciseDocumentsMultilang(); $workoutexercises = new FitnessWorkouts(); $adminData = new FitnessAdminAccounts(); $sess = new Zend_Session_Namespace('AdminSession'); $adminType = $adminData->getTypeByUsername($sess->username); $this->view->musclesList = $musclesDataList->listMuscles(); $this->view->equipmentList = $equipmentData->listEquipments(); $this->view->timeframesList = $timeframesData->listTimeframes(); $this->view->exerciseList = $workoutexercises->listWorkouts(); $this->view->adminType = $adminType['admin_user_type']; $workoutId = $this->_request->getParam('workoutId'); $langId = $this->_request->getParam('langId'); $getWorkoutGeneralData = $fitnessGeneral->getRecord($workoutId); if ($langId == 1) { $this->view->getGermanDescription = $fitnessGeneralMultiLang->getRecord($workoutId, 2); } $getWorkoutGeneralMultilangData = $fitnessGeneralMultiLang->getRecord($workoutId, $langId); $workoutEquipmentsData = $workoutEquipments->getRecord($workoutId); $workoutRankingData = $workoutRanking->getRecord($workoutId); $workoutDegreeData = $workoutDegreeDiff->getRecord($workoutId); $workoutDocumentsData = $workoutDocuments->getRecord($workoutId); $workoutDocumentsMultiData = $workoutDocumentsMulti->getRecord($workoutId, $langId); $workoutRepetitionBeginner = $workoutRepetition->getRecord($workoutId, 1); $workoutRepetitionAdvanced = $workoutRepetition->getRecord($workoutId, 2); $workoutRepetitionProfessn = $workoutRepetition->getRecord($workoutId, 3); $exerciseArray = explode(",", $getWorkoutGeneralData['workout_exercises']); $getPrimaryMuscleArray = $musclesData->getMuscles($getWorkoutGeneralData['workout_primary_muscles']); $secondary_muscleArray = explode(",", $getWorkoutGeneralData['workout_secondary_muscles']); $this->view->primary_muscle = $getPrimaryMuscleArray['bodyarea_id']; $this->view->sec_muscle = $secondary_muscleArray; $this->view->exercises = $exerciseArray; $this->view->workoutID = $workoutId; $this->view->langID = $langId; $this->view->workoutName = $fitnessGeneralMultiLang->getWorkoutName($workoutId, $langId); $this->view->workoutGeneralMultilang = $getWorkoutGeneralMultilangData; $this->view->workoutEquipments = $workoutEquipmentsData; $this->view->workoutRanking = $workoutRankingData; $this->view->repetitionBeginner = $workoutRepetitionBeginner['repetitions']; $this->view->repetitionAdvanced = $workoutRepetitionAdvanced['repetitions']; $this->view->repetitionProfessn = $workoutRepetitionProfessn['repetitions']; $this->view->workoutDegree = $workoutDegreeData; $this->view->workoutDocuments = $workoutDocumentsData; $this->view->workoutDocumentsMulti = $workoutDocumentsMultiData; $this->view->workoutGeneralData = $getWorkoutGeneralData; }
public function listworkoutsAction() { $this->view->loginStatus = $this->isLoggedIn(); $this->_helper->layout()->setLayout('layout_workouts'); //if($this->view->loginStatus == 1) //$this->view->memberStatus = $this->checkUserMembership(); $this->view->pageTitle = "Workouts"; if ($this->isLoggedIn() == 0) { $this->_redirect('/index/login'); } $defaultLanguage = $this->getDefaultLanguage(); $fitnessExercise = new FitnessExerciseGeneral(); $fitnessWorkouts = new FitnessWorkouts(); $fitnessuserunlocked = new FitnessUserWorkoutsUnlocked(); $fitnessUser = new FitnessUserGeneral(); $fitnessDocuments = new FitnessExerciseDocumentsMultilang(); $fitnessRepetition = new FitnessExerciseRepetition(); $fitnessMuscles = new FitnessBodyAreasMultilang(); $fitnessworkoutRate = new FitnessWorkoutRates(); $fitnessDevices = new AppleDevices(); $fitnessKeys = new FitnessAndroidKey(); $fitnessFavWorkouts = new FitnessUserFavWorkouts(); $this->view->listMuscles = $fitnessMuscles->listMuscles($defaultLanguage); $sess = new Zend_Session_Namespace('UserSession'); $userDetails = $fitnessUser->getUserbyUsername($sess->username); $this->view->loginCount = $userDetails['user_login']; if ($this->_request->getParam('search') != "") { $this->view->searchKeyword = $this->_request->getParam('search'); } if ($this->_request->getParam('page') != "") { $this->view->page = $this->_request->getParam('page'); } //get the filter post data and relist the workout if ($this->_request->isPost()) { $workoutDataNew = array(); $workoutNew = array(); //process the workout list according to the filter selected if ($this->_request->getPost('user_muscles') != "") { $filteramuscles = rtrim($this->_request->getPost('user_muscles'), ","); $filterArray = explode(",", $filteramuscles); $workoutArray = $fitnessWorkouts->getWorkoutsByMuscles($userDetails['user_workout_level']); foreach ($workoutArray as $workout) { $filterworkArray = explode(",", $workout['work_filter']); $result = array_intersect($filterArray, $filterworkArray); //if(!(empty($result)) ) if (count($result) == count($filterArray)) { $workoutIdNew[] = $workout['id']; } } foreach ($workoutIdNew as $workout) { $workoutNew[] = $fitnessWorkouts->getWorkout($workout); } if (!empty($workoutNew)) { $this->view->workoutData = $workoutNew; } else { $this->view->filtermessage = "No results found."; } } else { $this->view->workoutData = $fitnessWorkouts->listWorkouts($defaultLanguage, $userDetails['user_workout_level']); } //pass the filter data to the view $this->view->filteramuscles = rtrim($this->_request->getPost('user_muscles'), ","); } else { $this->view->workoutData = $fitnessWorkouts->listWorkouts($defaultLanguage, $userDetails['user_workout_level']); } //get the unlocked workouts of the current user $sess = new Zend_Session_Namespace('UserSession'); $userDetails = $fitnessUser->getUserbyUsername($sess->username); //get the workouts marked as favourite by the user $favWorkouts = $fitnessFavWorkouts->getFavWorkouts($userDetails['user_id']); foreach ($favWorkouts as $fav) { $favIds[] = $fav['workout_id']; } $this->view->favWorkouts = $favIds; //sort the workouts according to unlocked status $f = 0; foreach ($this->view->workoutData as $unlocked) { //print_r($unlocked); if ($unlocked['status'] == 1 || $userDetails['workout_purchase'] == 1) { $this->view->workoutData[$f]['unlocked'] = 1; } else { $this->view->workoutData[$f]['unlocked'] = 0; } $f = $f + 1; } //sort the workout list according to the favourite workouts $c = 0; foreach ($this->view->workoutData as $sorted) { if (in_array($sorted['id'], $this->view->favWorkouts)) { $this->view->workoutData[$c]['favs'] = 1; } else { $this->view->workoutData[$c]['favs'] = 0; } $c = $c + 1; } //call the function to sort associative arrays by a key if ($userDetails['workout_purchase'] != 1) { $this->view->workoutData = $this->array_sort_by_column($this->view->workoutData, 'unlocked'); } else { $this->view->workoutData = $this->array_sort_by_column($this->view->workoutData, 'favs'); } $workoutrate = $fitnessworkoutRate->getRateByVersion(1); $this->view->userid = $userDetails['user_id']; $this->view->userlevel = $userDetails['user_workout_level']; $this->view->workoutrate = $workoutrate['rate_single_workout']; $this->view->defaultLang = $this->getDefaultLanguage(); $this->view->fullpurchase = $userDetails['workout_purchase']; }