function settingsAction() { $this->view->loginStatus = $this->isLoggedIn(); $this->_helper->layout()->setLayout('layout_workouts'); $translate = Zend_Registry::get('Zend_Translate'); //if($this->view->loginStatus == 1) //$this->view->memberStatus = $this->checkUserMembership(); $userArray = array(); $usersettingsArray = array(); if ($this->isLoggedIn() == 0) { $this->_redirect('/index/login'); } $fitnessUser = new FitnessUserGeneral(); $fitnessTargets = new FitnessTargetsMultilang(); $fitnessInterests = new FitnessInterestsMultilang(); $fitnessUserSettings = new FitnessUserSettings(); $fitnessCountries = new Countries(); $fitnessDevices = new AppleDevices(); $fitnessKeys = new FitnessAndroidKey(); $fitnessFeatured = new FitnessFeaturedWorkout(); $defaultLanguage = $this->getDefaultLanguage(); $sess = new Zend_Session_Namespace('UserSession'); $this->view->countries = $fitnessCountries->getAllCountries(); $this->view->listTargets = $fitnessTargets->getAllTargets($defaultLanguage); $this->view->listInterests = $fitnessInterests->getAllInterests($defaultLanguage); $this->view->userDetails = $fitnessUser->getUserbyUsername($sess->username); if ($this->_request->getParam('details') != "") { $this->view->warning = $translate->translate("Please fill out the missing information on the settings page before continuing"); } if ($this->_request->isPost()) { $userId = $this->_request->getPost('user_id'); $userArray['user_first_name'] = $this->_request->getPost('user_fname'); $userArray['user_surname'] = $this->_request->getPost('user_surname'); $userArray['user_email'] = $this->_request->getPost('user_email'); if ($this->_request->getPost('user_password') != "") { $userArray['user_password'] = md5($this->_request->getPost('user_password')); } $levelChnage = 1; if ($this->view->userDetails['user_workout_level'] != $this->_request->getPost('user_level')) { $devicetokenDetail = $fitnessDevices->getDeviceByUser($userId); $androidKey = $fitnessKeys->getKeyByUser($userId); if ($devicetokenDetail['devicetoken'] != "") { $this->sendNotification('lekha', "User workout level has been changed in fitness4.me", $devicetokenDetail['devicetoken'], '', $this->_request->getPost('user_level'), $this->view->userDetails['plan']); } if ($androidKey['android_key'] != "") { $this->sentandroid($androidKey['android_key'], "User workout level has been changed in fitness4.me", $this->_request->getPost('user_level')); } $fitnessFeatured->deleteData(); } if ($levelChnage == 1) { $userArray['user_workout_level'] = $this->_request->getPost('user_level'); } $userArray['user_gender'] = $this->_request->getPost('user_gender'); $userArray['user_dob'] = $this->_request->getPost('user_dob'); $userArray['terms_conditions'] = $this->_request->getPost('terms'); $where = " user_id='" . $userId . "'"; $fitnessUser->update($userArray, $where); if ($this->_request->getPost('user_targets') != "") { $usersettingsArray['workout_targets'] = rtrim($this->_request->getPost('user_targets'), ","); } if ($this->_request->getPost('user_interests') != "") { $usersettingsArray['workout_interests'] = rtrim($this->_request->getPost('user_interests'), ","); } $usersettingsArray['member_fitnessclub'] = $this->_request->getPost('club_member'); $usersettingsArray['offers'] = $this->_request->getPost('offers'); $usersettingsArray['updates'] = $this->_request->getPost('updates'); $usersettingsArray['dnb'] = $this->_request->getPost('dnb'); $usersettingsArray['address1'] = $this->_request->getPost('address1'); $usersettingsArray['address2'] = $this->_request->getPost('address2'); $usersettingsArray['city'] = $this->_request->getPost('city'); $usersettingsArray['country'] = $this->_request->getPost('country'); $usersettingsArray['zipcode'] = $this->_request->getPost('zipcode'); $usersettingsArray['telephone'] = $this->_request->getPost('telephone'); if ($usersettingsArray['address1'] != "" && $usersettingsArray['country'] != "" && $usersettingsArray['zipcode'] != "" && $userArray['user_first_name'] != "" && $userArray['user_gender'] != "" && $userArray['terms_conditions'] != "") { $usersettingsArray['address_check'] = 1; } //check if record exists $checkRecords = $fitnessUserSettings->getCount($userId); if ($checkRecords['count'] < 1) { $usersettingsArray['user_id'] = $userId; $fitnessUserSettings->addData($usersettingsArray); } else { $where = " user_id='" . $userId . "'"; $fitnessUserSettings->update($usersettingsArray, $where); } $this->_redirect('/user/listworkouts'); } $this->view->userDetails = $fitnessUser->getUserbyUsername($sess->username); $this->view->userSettings = $fitnessUserSettings->getUserSettings($this->view->userDetails['user_id']); $this->view->defaultLang = $defaultLanguage; }
/** * function that displays the workout information before the video * @params workout id * @author lekha * @date 4/25/2012 */ public function playvideoAction() { $this->view->loginStatus = $this->isLoggedIn(); //$this->_helper->layout()->setLayout('layout_workouts'); $this->_helper->layout()->disableLayout(); if ($this->isLoggedIn() == 0) { $this->_redirect('/index/login'); } $this->view->workoutid = $this->_request->getParam('workout_id'); $fitnessWorkouts = new FitnessWorkouts(); $fitnessWorkoutsMulti = new FitnessWorkoutsMultilang(); $fitnessWorkoutsUnlocked = new FitnessUserWorkoutsUnlocked(); $fitnessDocuments = new FitnessExerciseDocuments(); $fitnessRepetition = new FitnessExerciseRepetition(); $fitnessExercises = new FitnessExerciseGeneral(); $fitnessExerciseEquipments = new FitnessExerciseEquipments(); $fitnessEquipmentsMulti = new FitnessEquipmentsMultilang(); $fitnessDevices = new AppleDevices(); $fitnessKeys = new FitnessAndroidKey(); $fitnessFavWorkouts = new FitnessUserFavWorkouts(); $fitnessUserSettings = new FitnessUserSettings(); $fitnessUser = new FitnessUserGeneral(); // get workout info $workoutInfo = $fitnessWorkouts->getWorkout($this->_request->getParam('workout_id')); $workoutMulti = $fitnessWorkoutsMulti->getWorks($this->_request->getParam('workout_id'), $this->getDefaultLanguage()); $user_level = $this->_request->getParam('userlevel'); $userid = $this->_request->getParam('userid'); $userDetails = $fitnessUser->getUser($userid); $userSettings = $fitnessUserSettings->getUserSettings($userid); print_r($userDetails); exit; if ($userSettings['address_check'] != 1) { $this->_redirect('user/checksettings'); } $defaultLang = $this->getDefaultLanguage(); $workoutData = $fitnessWorkouts->listWorkouts($defaultLang, $user_level); $favWorkouts = $fitnessFavWorkouts->getFavWorkouts($userid); foreach ($favWorkouts as $fav) { $favIds[] = $fav['workout_id']; } $workout_id = $workoutInfo['id']; if (in_array($workout_id, $favIds)) { $this->view->favstatus = 1; } else { $this->view->favstatus = 0; } //umlock free workouts if ($this->_request->getParam('workoutUnlock') != "") { $unlockedArray = array(); $unlockedArray['user_id'] = $userid; $unlockedArray['workout_id'] = $this->_request->getParam('workoutUnlock'); $unlockedArray['workout_purchase_status'] = 'false'; $unlockedArray['unlocked_date'] = date('Y-m-d'); $unlockedArray['unlocked_status'] = 1; $unlockedArray['unlock_location'] = 1; $fitnessWorkoutsUnlocked->addData($unlockedArray); //send notification $devicetokenDetail = $fitnessDevices->getDeviceByUser($userid); $androidKey = $fitnessKeys->getKeyByUser($userid); if ($devicetokenDetail['devicetoken'] != "") { $this->sendNotification('lekha', "A free workout has been unlocked in fitness4.me", $devicetokenDetail['devicetoken'], '', 4); } if ($androidKey['android_key'] != "") { $this->sentandroid($androidKey['android_key'], "A free workout has been unlocked in fitness4.me", 4); } $this->_redirect('/user/playvideo/workout_id/' . $this->_request->getParam('workoutUnlock') . '/userlevel/' . $this->_request->getParam('userlevel') . '/userid/' . $userid); } $unlocked = $fitnessWorkoutsUnlocked->getUserWorkoutsUnlocked($userid); foreach ($unlocked as $workout) { $unlockedIds[] = $workout['workout_id']; } if (count($unlockedIds) > 0) { foreach ($workoutData as $work) { if ($work['status'] == 1) { array_push($unlockedIds, $work['id']); } } } else { foreach ($workoutData as $work) { if ($work['status'] == 1) { $unlockedIds[] = $work['id']; } } } $this->view->userunlocked = $unlockedIds; //get props used if any $exerciseList = $fitnessWorkouts->getExercises($workout_id); $exerArray = explode(",", $exerciseList['work_exercises']); foreach ($exerArray as $exer) { $equipmentsList = $fitnessExerciseEquipments->getEquipment($exer); $equipmentArray[] = explode(",", $equipmentsList['equipments_home']); } $result = array(); foreach ($equipmentArray as $key => $value) { if (is_array($value)) { $result = array_merge($result, $value); } else { $result[$key] = $value; } } $equipmentArray = array_unique($result); $b = 0; foreach ($equipmentArray as $equip) { if ($equip != "") { $equipName = $fitnessEquipmentsMulti->getEquipmentById($equip, $this->getDefaultLanguage()); if ($equipName['equipment_name'] == "chair") { $equipName['equipment_name'] = "chair/s maximum no 2"; } $equipments .= $equipName['equipment_name'] . ","; $b = $b + 1; } } $equipmentsStr = rtrim($equipments, ","); $workoutArray = $fitnessWorkouts->getWorkout($workout_id); if ($workoutArray['work_exercises_order'] == "") { $exerciseArray = explode(",", rtrim($workoutArray['work_exercises'], ',')); } else { $exerciseArray = explode(",", rtrim($workoutArray['work_exercises_order'], ',')); } $totalExerciseCount = count($exerciseArray); //build the repetition array for the videos $m = 1; foreach ($exerciseArray as $exercise) { $repetition = $fitnessRepetition->getRecord($exercise, $user_level); $video = $fitnessDocuments->getRecord($exercise); if ($repetition['repetitions'] > 0) { $repetitionArray[] = 1; $repetitionArray[] = 1; $repetitionArray[] = 1; if ($this->getDefaultLanguage() == 2) { $intro_array = explode('.mp4', $video['poster_video']); $intro_video = "intro/de/" . $intro_array[0] . "_de.mp4"; $stopvideo = "test/de/stop_exercise_de.mp4"; $otherSide = "test/de/otherside_exercise_de.mp4"; $recovery = "recovery/de/recovery_" . $workoutInfo['work_recovery_time'] . "_de.mp4"; $next = "test/de/next_exercise_de.mp4"; $completed = "test/de/completed_exercise_de.mp4"; } else { $intro_video = "intro/" . $video['poster_video']; $stopvideo = "test/stop_exercise.mp4"; $otherSide = "test/otherside_exercise.mp4"; $recovery = "recovery/recovery_" . $workoutInfo['work_recovery_time'] . ".mp4"; $next = "test/next_exercise.mp4"; $completed = "test/completed_exercise.mp4"; } $videoArray[] = $intro_video; $videoArray[] = $video['workout_video_file'] . "-" . $repetition['repetitions'] . ".mp4"; $videoArray[] = $stopvideo; //insert the recovery here $videoexplode = $video['workout_video_file'] . "-" . $repetition['repetitions']; if (file_exists('./public/videos/' . $videoexplode . '-2.mp4')) { $repetitionArray[] = 1; $repetitionArray[] = 1; $repetitionArray[] = 1; //$repetitionArray[] = 1; $videoArray[] = $otherSide; $videoArray[] = $videoexplode . '-2.mp4'; $videoArray[] = $stopvideo; //$videoArray[] = "test/next_exercise.mp4"; } //else //{ if ($workoutInfo['work_recovery_interval'] == 1 && $m != $totalExerciseCount) { $repetitionArray[] = 1; $videoArray[] = $recovery; } if ($workoutInfo['work_recovery_interval'] == 2) { if ($m % 2 == 0) { $repetitionArray[] = 1; $videoArray[] = $recovery; } } if ($workoutInfo['work_recovery_interval'] == 3) { if ($m % 3 == 0) { $repetitionArray[] = 1; $videoArray[] = $recovery; } } //} if ($m != $totalExerciseCount) { $repetitionArray[] = 1; $videoArray[] = $next; } } $m = $m + 1; } array_push($repetitionArray, 1); array_push($videoArray, $completed); $videoStr = implode(",", $videoArray); $repsStr = implode(",", $repetitionArray); $this->view->description = $workoutMulti['description_big']; $this->view->name = $workoutMulti['work_name']; $this->view->benefits = $workoutInfo['work_filter']; $this->view->image = $workoutInfo['work_image_list']; $this->view->videoStr = $videoStr; $this->view->repStr = $repsStr; $this->view->siteurl = 'http://' . $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $this->view->baseUrl(); $this->view->userid = $userid; $this->view->userlevel = $user_level; $this->view->workoutid = $workout_id; $this->view->props = $equipmentsStr; $this->view->defaultLang = $defaultLang; $this->view->fullpurchase = $userDetails['workout_purchase']; }