Пример #1
0
 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;
 }
Пример #2
0
 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'];
 }