Ejemplo n.º 1
0
 function editworkAction()
 {
     if ($this->isLoggedIn() == 0) {
         $this->_redirect('/admin/index');
     }
     $this->view->langId = $this->_request->getParam('langId');
     $this->view->workId = $this->_request->getParam('workId');
     $fitnessWorkouts = new FitnessWorkouts();
     $fitnessWorkoutsMulti = new FitnessWorkoutsMultilang();
     $fitnessExercises = new FitnessExerciseGeneral();
     $fitnessExercisesMulti = new FitnessExerciseGeneralMultilang();
     $fitnessTimeframes = new FitnessWorkoutTimeframes();
     $workoutDocuments = new FitnessExerciseDocuments();
     $workoutDocumentsMulti = new FitnessExerciseDocumentsMultilang();
     $fitnessDevices = new AppleDevices();
     $fitnessKeys = new FitnessAndroidKey();
     $adminData = new FitnessAdminAccounts();
     $sess = new Zend_Session_Namespace('AdminSession');
     $adminType = $adminData->getTypeByUsername($sess->username);
     $this->view->adminType = $adminType['admin_user_type'];
     $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();
     $this->view->workData = $fitnessWorkouts->getWorkout($this->_request->getParam('workId'));
     $exerciseArray = explode(",", $this->view->workData['work_exercises']);
     $this->view->exercises = $exerciseArray;
     //$this->view->workoutDocuments       = $workoutDocumentsData;
     //$this->view->workoutDocumentsMulti  = $workoutDocumentsMultiData;
     if ($this->_request->getParam('langId') != "") {
         $workmultiData = $fitnessWorkoutsMulti->getWorks($this->_request->getParam('workId'), $this->_request->getParam('langId'));
         if ($this->_request->getParam('langId') == 1) {
             $this->view->workmultiDataTranslate = $fitnessWorkoutsMulti->getWorks($this->_request->getParam('workId'), 2);
         }
         $this->view->workmulti = $workmultiData;
         $this->view->workname = $workmultiData['work_name'];
     } else {
         $workmultiData = $fitnessWorkoutsMulti->getWorks($this->_request->getParam('workId'), $this->getDefaultLanguage());
         $this->view->workmulti = $workmultiData;
         $this->view->workname = $this->view->workData['work_name'];
     }
     $this->view->exercises = explode(",", $this->view->workData['work_exercises']);
     $d = 0;
     foreach ($this->view->exercises as $exerciseID) {
         $exerciseDetails = $fitnessExercisesMulti->getWorkoutName($exerciseID, $this->getDefaultLanguage());
         $sortExerciseArray[$d]['name'] = $exerciseDetails['workout_name'];
         $sortExerciseArray[$d]['id'] = $exerciseID;
         $d = $d + 1;
     }
     if ($this->view->workData['work_exercises_order'] != "") {
         $this->view->sortcomplete = explode(",", $this->view->workData['work_exercises_order']);
         $sortDiff = array_diff($this->view->exercises, $this->view->sortcomplete);
         $reversesortDiff = array_diff($this->view->sortcomplete, $this->view->exercises);
         //print_r($this->view->exercises);echo "<br/>";
         //print_r($this->view->sortcomplete);echo "<br/>";
         //remove deleted exercises
         foreach ($this->view->sortcomplete as $key => $exerciseID) {
             if (in_array($exerciseID, $reversesortDiff)) {
                 unset($this->view->sortcomplete[$key]);
             }
         }
         $j = 0;
         foreach ($this->view->sortcomplete as $exerciseID) {
             $exerciseDetails = $fitnessExercisesMulti->getWorkoutName($exerciseID, $this->getDefaultLanguage());
             $sortCompleteExerciseArray[$j]['name'] = $exerciseDetails['workout_name'];
             $sortCompleteExerciseArray[$j]['id'] = $exerciseID;
             $j = $j + 1;
         }
     }
     $r = 0;
     foreach ($sortDiff as $diff) {
         $exerciseDiffDetails = $fitnessExercisesMulti->getWorkoutName($diff, $this->getDefaultLanguage());
         $sortDiffExerciseArray[$r]['name'] = $exerciseDiffDetails['workout_name'];
         $sortDiffExerciseArray[$r]['id'] = $diff;
         $r = $r + 1;
     }
     $this->view->sortExercises = $sortExerciseArray;
     $this->view->sortCompleteExercises = $sortCompleteExerciseArray;
     $this->view->sortDiffExercises = $sortDiffExerciseArray;
     $workArray = array();
     $workMultiArray = array();
     if ($this->_request->isPost()) {
         $workId = $this->_request->getPost('work_id');
         if ($this->_request->getPost('langId') == "") {
             //$workImage                      = $_FILES["work_image"]["name"];
             $workArray['work_name'] = $this->_request->getPost('work_name');
             $workArray['work_image_list'] = $this->_request->getPost('work_image');
             $workArray['work_exercises'] = rtrim($this->_request->getPost("exerciseslist", ","));
             $workArray['work_duration'] = $this->_request->getPost('work_duration');
             $workArray['work_recovery_time'] = $this->_request->getPost('work_recovery_time');
             $workArray['work_recovery_interval'] = $this->_request->getPost('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');
             if ($this->_request->getPost('activestatus') != "") {
                 $workArray['isactive'] = $this->_request->getPost('activestatus');
             }
             if ($this->_request->getPost('isfree') != "") {
                 $workArray['status'] = $this->_request->getPost('isfree');
             }
             $where = "id='" . $workId . "'";
             $fitnessWorkouts->update($workArray, $where);
             /*if($workImage!="")
             	    {
             	    move_uploaded_file($_FILES['work_image']['tmp_name'],'./public/images/exercises/'.$workImage);
             	    $this->createThumb('./public/images/exercises/'.$workImage,'./public/images/exercises/thumbs/'.$workImage,100);
             		$this->createThumbMobile('./public/images/exercises/'.$workImage,'./public/images/exercises/thumbs/mobile/'.$workImage,100);
             	    
             	    }*/
             if ($this->_request->getPost('isactive') == 1) {
                 //update the workout change table
                 $fitnessUpdateChange = new FitnessWorkoutChanges();
                 $changeArray = array();
                 //check if record exists for today's date
                 $currentDate = date('Y-m-d');
                 $checkRecord = $fitnessUpdateChange->getRecordByDate($currentDate);
                 if ($checkRecord['count'] < 1) {
                     $changeArray['status'] = 1;
                     $changeArray['change_date'] = $currentDate;
                     $fitnessUpdateChange->addData($changeArray);
                 }
                 /*$devices      =  $fitnessDevices->getAllDevices();
                 		
                 							$keys         =  $fitnessKeys->getAllKeys();
                 							
                 							$message      =  "The workout ".$this->_request->getPost('work_name')." has been updated in Fitness4.me";
                 							foreach($devices as $device)
                 							{
                 							    if($device['devicetoken'] !="")
                 								{
                 									//$this->sendNotification('lekha',$message,$device['devicetoken'],4);
                 								}
                 								
                 							}
                 							
                 							foreach($keys as $key)
                 							{
                 							    if($key['android_key'] !="")
                 								{
                 									//$this->sentandroid($key['android_key'],$message,4);
                 									
                 								}
                 								
                 								
                 							}*/
             }
         }
         if ($this->_request->getPost('langId') != "") {
             $checkRecords = $fitnessWorkoutsMulti->getLangRecord($this->_request->getPost('work_id'), $this->_request->getPost('langId'));
             $workMultiArray['work_id'] = $workId;
             $workMultiArray['lang_id'] = $this->_request->getPost('langId');
             $workMultiArray['work_name'] = $this->_request->getPost('work_name');
             $workMultiArray['description_small'] = $this->_request->getPost("description_small");
             $workMultiArray['description_big'] = $this->_request->getPost("description_big");
             if ($checkRecords['count'] > 0) {
                 $fitnessWorkoutsMulti->update($workMultiArray, array('work_id = ?' => $this->_request->getPost('work_id'), 'lang_id = ?' => $this->_request->getPost('langId')));
             } else {
                 $fitnessWorkoutsMulti->addData($workMultiArray);
             }
         }
         $this->_redirect('/admin/listworks');
     }
 }
Ejemplo n.º 2
0
 /**
  * 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);
     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;
     }
     //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/js_old/old_files/web/' . $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 && $m != $totalExerciseCount) {
                 if ($m % 2 == 0) {
                     $repetitionArray[] = 1;
                     $videoArray[] = $recovery;
                 }
             }
             if ($workoutInfo['work_recovery_interval'] == 3 && $m != $totalExerciseCount) {
                 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'];
     $this->view->workoutStatus = $workoutInfo['status'];
 }