public function deleteAction()
 {
     $id = (int) $this->params()->fromRoute('id', 0);
     if (!$id) {
         return $this->redirect()->toRoute('admin/partners');
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $del = $request->getPost('del', 'No');
         if ($del == 'Yes') {
             $id = (int) $request->getPost('id');
             /* Deleting Images from amazon - starts here */
             $partner = $this->getPartnersTable()->getPartner($id);
             if ($partner->logo) {
                 $AllImages = array();
                 $S3 = new ImageS3();
                 $S3Path = "https://ovessence.s3.amazonaws.com/PartnersLogo/Original/";
                 $AllImages[] = str_replace($S3Path, 'Logo/Small/', $partner->logo);
                 $AllImages[] = str_replace($S3Path, 'Logo/Medium/', $partner->logo);
                 $AllImages[] = str_replace($S3Path, 'Logo/Large/', $partner->logo);
                 $AllImages[] = str_replace($S3Path, 'Logo/Original/', $partner->logo);
                 if (count($AllImages) > 0) {
                     foreach ($AllImages as $image) {
                         $S3->deleteFile($image);
                     }
                 }
             }
             /* Deleting Images from amazon - ends here */
             $this->getPartnersTable()->deletePartner($id);
             // Delete recode from database
             $this->flashMessenger()->addSuccessMessage('Partner deleted successfully..!!');
         }
         // Redirect to list of certifications
         return $this->redirect()->toRoute('admin/partners');
     }
     return array('id' => $id, 'partner' => $this->getPartnersTable()->getPartner($id));
 }
 public function deleteAction()
 {
     $booking_id = (int) $this->params()->fromRoute('booking_id', 0);
     $id = (int) $this->params()->fromRoute('id', 0);
     if (!$id && !$booking_id) {
         return $this->redirect()->toRoute('admin/bannerbookings');
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $del = $request->getPost('del', 'No');
         if ($del == 'Yes') {
             $id = (int) $request->getPost('id');
             /* Deleting Images from amazon - starts here */
             $bu = $this->getBannerUploadTable()->getBannerUpload($id);
             if (stristr($bu->banner_content, 'https://ovessence.s3.amazonaws.com') != false) {
                 $S3 = new ImageS3();
                 $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $bu->banner_content));
             }
             /* Deleting Images from amazon - ends here */
             $this->getBannerUploadTable()->deleteBannerUpload($id);
             // Delete recode from database
         }
         // Redirect to list of banners
         return $this->redirect()->toRoute('admin/banneruploads', array('booking_id' => $booking_id));
     }
     return array('id' => $id, 'booking_id' => $booking_id, 'bannerupload' => $this->getBannerUploadTable()->getBannerUpload($id));
 }
 public function updateAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $action = $request->getPost('action');
         $api = new Api();
         $common = new Common();
         $model = new Practitioners();
         $bookingModel = new Bookings();
         $session = new Container('frontend');
         $user_id = $session->userid;
         $api_url = $this->getServiceLocator()->get('config')['api_url']['value'];
         switch ($action) {
             case 'name':
                 $contact_data['user_id'] = $user_id;
                 $contact_data = $user_data = $errors = array();
                 $contact_id = $request->getPost('contact_id');
                 $full_name = explode(' ', trim($request->getPost('practitioner_name')));
                 isset($full_name[0]) && $full_name[0] != '' ? $contact_data['first_name'] = $user_data['first_name'] = ucfirst($full_name[0]) : '';
                 isset($full_name[1]) && $full_name[1] != '' ? $contact_data['last_name'] = $user_data['last_name'] = ucfirst($full_name[1]) : ($contact_data['last_name'] = $user_data['last_name'] = '');
                 $result = $model->updateContact($api_url, $contact_data, $contact_id);
                 if ($result == true) {
                     $result = $model->updateData($api_url, $user_data, $user_id);
                     if ($result == true) {
                         echo json_encode(array('status' => 1, 'msg' => 'Name successfully updated..!!'));
                     } else {
                         if (is_array($result)) {
                             echo json_encode(array('status' => 0, 'errors' => $result));
                         } else {
                             echo json_encode(array('status' => 0, 'msg' => 'Failed to update name..!!'));
                         }
                     }
                 } else {
                     if (is_array($result)) {
                         echo json_encode(array('status' => 0, 'errors' => $result));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to update name..!!'));
                     }
                 }
                 break;
             case 'profile':
                 $details_data = $address_data = array();
                 $address_data['user_id'] = $details_data['user_id'] = $user_id;
                 $address_data['user_type'] = '';
                 $detail_id = $request->getQuery('detail_id');
                 $address_id = $request->getQuery('address_id');
                 trim($request->getQuery('designation')) != "" ? $details_data['designation'] = trim($request->getQuery('designation')) : '';
                 trim($request->getQuery('company_name')) != "" ? $details_data['company_name'] = trim($request->getQuery('company_name')) : '';
                 trim($request->getQuery('dob')) != "" ? $details_data['dob'] = date('Y-m-d', strtotime(trim($request->getQuery('dob')))) : '';
                 trim($request->getQuery('specialties')) != "" ? $details_data['specialties'] = trim($request->getQuery('specialties')) : '';
                 trim($request->getQuery('degrees')) != "" ? $details_data['degrees'] = trim($request->getQuery('degrees')) : '';
                 trim($request->getQuery('years_of_experience')) != "" ? $details_data['years_of_experience'] = str_replace(' Years', '', trim($request->getQuery('years_of_experience'))) : '';
                 trim($request->getQuery('prof_membership')) != "" ? $details_data['prof_membership'] = trim($request->getQuery('prof_membership')) : '';
                 trim($request->getQuery('professional_license_number')) != "" ? $details_data['professional_license_number'] = trim($request->getQuery('professional_license_number')) : '';
                 trim($request->getQuery('awards_and_publication')) != "" ? $details_data['awards_and_publication'] = trim($request->getQuery('awards_and_publication')) : '';
                 trim($request->getQuery('auth_to_bill_insurence_copany')) != "" ? $details_data['auth_to_bill_insurence_copany'] = trim($request->getQuery('auth_to_bill_insurence_copany')) : '';
                 trim($request->getQuery('auth_to_issue_insurence_rem_receipt')) != "" ? $details_data['auth_to_issue_insurence_rem_receipt'] = trim($request->getQuery('auth_to_issue_insurence_rem_receipt')) : '';
                 trim($request->getQuery('treatment_for_physically_disabled_person')) != "" ? $details_data['treatment_for_physically_disabled_person'] = trim($request->getQuery('treatment_for_physically_disabled_person')) : '';
                 trim($request->getQuery('offering_at_home')) != "" ? $details_data['offering_at_home'] = trim($request->getQuery('offering_at_home')) : '';
                 trim($request->getQuery('offering_at_work_office')) != "" ? $details_data['offering_at_work_office'] = trim($request->getQuery('offering_at_work_office')) : '';
                 trim($request->getQuery('age')) != "" ? $user_data['age'] = trim($request->getQuery('age')) : '';
                 trim($request->getQuery('gender')) != "" ? $user_data['gender'] = trim($request->getQuery('gender')) : '';
                 // Updating languges
                 if ($model->updateLanguages($api_url, $user_id, $request->getQuery('language'))) {
                     // Updating educations
                     if ($model->updateEducations($api_url, $user_id, $request->getQuery('education'))) {
                         // Updating practitioner details
                         $result = $model->updateDetails($api_url, $details_data, $detail_id);
                         if ($result['status'] == 1) {
                             // Updating practitioner address
                             $res = $model->updateData($api_url, $user_data, $user_id);
                             if ($res == true) {
                                 echo json_encode(array('status' => 1, 'msg' => 'Profile updated successfully..!!', 'data' => array('detail_id' => $result['id'], 'address_id' => $response['id'])));
                             } else {
                                 if (is_array($res)) {
                                     echo json_encode(array('status' => 0, 'errors' => $res));
                                 } else {
                                     echo json_encode(array('status' => 0, 'msg' => 'Failed to update profile..!!'));
                                 }
                             }
                         } else {
                             echo json_encode($result);
                         }
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to update languages..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'Failed to update languages..!!'));
                 }
                 break;
             case 'about':
                 $details_data = array();
                 $details_data['user_id'] = $user_id;
                 $detail_id = $request->getQuery('detail_id');
                 trim($request->getQuery('description')) != "" ? $details_data['description'] = addslashes(trim(str_replace(array("\r", "\n"), '', nl2br($request->getQuery('description'))))) : '';
                 echo json_encode($model->updateDetails($api_url, $details_data, $detail_id));
                 break;
             case 'contact':
                 $contact_data = array();
                 $contact_data['user_id'] = $user_id;
                 $contact_id = $request->getQuery('contact_id');
                 trim($request->getQuery('cellphone')) != "" ? $contact_data['cellphone'] = trim($request->getQuery('cellphone')) : '';
                 trim($request->getQuery('phone_number')) != "" ? $contact_data['phone_number'] = trim($request->getQuery('phone_number')) : '';
                 if (isset($contact_data['cellphone']) && $contact_data['cellphone'] != '' && !preg_match('/^\\d{11}$/', $contact_data['cellphone'])) {
                     echo json_encode(array('status' => 0, 'msg' => 'Main phone number should be 11 digit number (1 as a prefix and 10 digit phone number)..!!'));
                 } elseif (isset($contact_data['phone_number']) && $contact_data['phone_number'] != '' && !preg_match('/^\\d{11}$/', $contact_data['phone_number'])) {
                     echo json_encode(array('status' => 0, 'msg' => 'Office phone number should be 11 digit number (1 as a prefix and 10 digit phone number)..!!'));
                 } else {
                     echo json_encode($model->updateContact($api_url, $contact_data, $contact_id));
                 }
                 break;
             case 'organization':
                 echo json_encode($model->updateOrganization($api_url, $user_id, $request->getQuery('organization')));
                 break;
             case 'location_type':
                 echo json_encode($model->updateLocationTypes($api_url, $user_id, $request->getQuery('location_types')));
                 break;
             case 'image':
                 $File = $this->params()->fromFiles('image');
                 if ($File['error'] == 0 && $File['size'] > 0) {
                     $S3 = new ImageS3();
                     $data = $S3->uploadFiles($_FILES['image'], "Media", array(), array('Media' => 100, 'Media_thumb' => '138x108\\>\\!'));
                     if (is_array($data) && count($data) > 0) {
                         $imageData = array();
                         $imageData['user_id'] = $user_id;
                         $imageData['media_url'] = $data['Media'];
                         $imageData['media_type'] = 1;
                         $imageData['media_title'] = trim($request->getPost('media_title'));
                         //$imageData['media_description'] = addslashes(trim($request->getPost('media_description')));
                         $imageData['media_description'] = addslashes(trim($request->getPost('media_title')));
                         $imageData['created_by'] = $user_id;
                         $imageData['updated_date'] = date('Y-m-d h:i:s');
                         $imageData['updated_by'] = $user_id;
                         $imageData['status_id'] = 5;
                         if ($request->getPost('id') != "") {
                             $res = $api->curl($api_url . "/api/media/" . $request->getPost('id') . "/", $imageData, "PUT");
                         } else {
                             $res = $api->curl($api_url . "/api/media/", $imageData, "POST");
                         }
                         if ($res->getStatusCode() == 200 || $res->getStatusCode() == 201) {
                             $image_res = json_decode($res->getBody(), true);
                             echo json_encode(array('status' => 1, 'msg' => 'Image uploaded successfully..!!', 'id' => $image_res['id'], 'title' => $image_res['media_title'], 'media_description' => $image_res['media_description'], 'url' => $data['Media_thumb']));
                         } else {
                             echo json_encode(array('status' => 0, 'msg' => 'Failed to upload image..!!', 'code' => $res));
                         }
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to upload image on server..!!', 'code' => $File));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'Failed to upload image..!!', 'code' => $File));
                 }
                 break;
             case 'avtar':
                 $id = $request->getPost('image');
                 if ($user_id != "" && $id != "") {
                     $media_res = $api->curl($api_url . "/api/media/" . $id . "/", array(), "GET");
                     if ($media_res->getStatusCode() == 200) {
                         $media = json_decode($media_res->getBody(), true);
                         $file = explode('/', $media['media_url']);
                         $fileName = "./public/uploads/" . end($file);
                         file_put_contents($fileName, fopen($media['media_url'], 'r'));
                         try {
                             $S3 = new ImageS3();
                             $data = $S3->uploadFile($fileName, array('Avtars' => '378x378'));
                         } catch (\Exception $e) {
                             echo json_encode(array('status' => 0, 'msg' => 'Failed to update avtar image..!!'));
                             exit;
                         }
                         $temp = $api->curl($api_url . "/api/spusers/" . $user_id . "/", array(), "GET");
                         $avtar = json_decode($temp->getBody(), true);
                         $avtar['avtar_url'] != '' ? $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $avtar['avtar_url'])) : '';
                         $res = $api->curl($api_url . "/api/spusers/" . $user_id . "/", array('avtar_url' => $data['Avtars'], 'user_type_id' => 3), "PUT");
                         if ($res->getStatusCode() == 200 || $res->getStatusCode() == 201) {
                             echo json_encode(array('status' => 1, 'msg' => 'Avtar image changed successfully..!!', 'image_url' => $data['Avtars']));
                         } else {
                             echo json_encode(array('status' => 0, 'msg' => 'Failed to update avtar image..!!', 'errors' => json_decode($res->getBody(), true)));
                         }
                     }
                 }
                 break;
             case 'delete_image':
                 $id = $request->getPost('image');
                 $media_res = $api->curl($api_url . "/api/media/" . $id . "/", array(), "GET");
                 if ($media_res->getStatusCode() == 200) {
                     $media = json_decode($media_res->getBody(), true);
                     $del_res = $api->curl($api_url . "/api/media/" . $id . "/", array(), "DELETE");
                     if ($del_res->getStatusCode() == 204) {
                         $S3 = new ImageS3();
                         $media['media_url'] != '' ? $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $media['media_url'])) : '';
                         echo json_encode(array('status' => 1, 'msg' => 'Image deleted successfully..!!'));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to delete image..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'No image found..!!'));
                 }
                 break;
             case 'delete_video':
                 $id = $request->getPost('video');
                 $media_res = $api->curl($api_url . "/api/media/" . $id . "/", array(), "GET");
                 if ($media_res->getStatusCode() == 200) {
                     $media = json_decode($media_res->getBody(), true);
                     $del_res = $api->curl($api_url . "/api/media/" . $id . "/", array(), "DELETE");
                     if ($del_res->getStatusCode() == 204) {
                         $media['media_url'] != '' ? @unlink($media['media_url']) : '';
                         echo json_encode(array('status' => 1, 'msg' => 'Video deleted successfully..!!'));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to delete video..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'No video found..!!'));
                 }
                 break;
             case 'delete_avtar':
                 $details = $model->getSPDetails($api_url, $session->userid);
                 if (isset($details['avtar_url']) && $details['avtar_url'] != '') {
                     $S3 = new ImageS3();
                     $res = $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $details['avtar_url']));
                     if ($model->updateData($api_url, array('avtar_url' => ''), $session->userid)) {
                         echo json_encode(array('status' => 1, 'msg' => 'Avtar image deleted successfully..!!', 'code' => $res));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to delete avtar image..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'No image found..!!'));
                 }
                 break;
             case 'video':
                 $total = count($model->getSPMedia($api_url, $user_id, 2));
                 $subscriptionDetails = $common->getSubscriptiondetails($api_url, '', true);
                 $video_limit = $subscriptionDetails['video_limit']['limit'];
                 if ($total < $video_limit) {
                     $renameUpload = new \Zend\Filter\File\RenameUpload(array('target' => "./public/uploads/", 'randomize' => true, 'use_upload_name' => true));
                     if ($fileDetails = $renameUpload->filter($_FILES['video'])) {
                         $filePath = $fileDetails['tmp_name'];
                         // check video orientation and rotate if needed
                         /* exec("mediainfo ".$fileDetails['tmp_name']." | grep Rotation", $mediaInfo);
                                                       var_dump($mediaInfo); exit;
                         
                                                       if (is_array($mediaInfo) && count($mediaInfo)>0) {
                                                       $tempPath = explode("/", $fileDetails['tmp_name']);
                                                       $filePath = "./public/uploads/new_".end($tempPath);
                                                       exec('ffmpeg -i '.$fileDetails['tmp_name'].' -vf "transpose=1" -strict -2 '.$filePath, $output, $response);
                                                       ($response == '0')?@unlink($fileDetails['tmp_name']):'';
                                                       } */
                         $videoData = array();
                         $videoData['user_id'] = $user_id;
                         $videoData['media_url'] = $filePath;
                         $videoData['media_title'] = trim($request->getPost('media_title'));
                         //$videoData['media_description'] = addslashes(trim($request->getPost('media_description')));
                         $videoData['media_description'] = addslashes(trim($request->getPost('media_title')));
                         $videoData['created_by'] = $user_id;
                         $videoData['updated_date'] = date('Y-m-d h:i:s');
                         $videoData['updated_by'] = $user_id;
                         $videoData['status_id'] = 5;
                         /* $length = exec("ffmpeg -i /var/www/html/ovessence".str_replace('.','',$fileDetails['tmp_name'])." 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//'");
                            echo var_dump($length); exit; */
                         echo json_encode($model->updateSPMedia($api_url, $videoData, 2, $request->getPost('id')));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Unable to upload video..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'You have already uploaded the maximum number of videos (' . $video_limit . ') allowed by your subscription..!!'));
                 }
                 break;
             case 'workdays':
                 //echo '<pre>'; print_r($request->getQuery()); exit;
                 $id = $request->getQuery('id');
                 $start_time = $request->getQuery('start_time');
                 $end_time = $request->getQuery('end_time');
                 $lunch_start_time = $request->getQuery('lunch_start_time');
                 $lunch_end_time = $request->getQuery('lunch_end_time');
                 $address_id = $request->getQuery('address_id');
                 $mode = 'add';
                 foreach ($start_time as $key => $value) {
                     $data = array();
                     $mode = isset($id[$key]) && $id[$key] != '' && $mode == 'add' ? 'edit' : $mode;
                     $data['start_time'] = $value != '' ? date('H:i:s', strtotime($value)) : '00:00:00';
                     $data['end_time'] = $end_time[$key] != '' ? date('H:i:s', strtotime($end_time[$key])) : '00:00:00';
                     $data['lunch_start_time'] = $lunch_start_time[$key] != '' ? date('H:i:s', strtotime($lunch_start_time[$key])) : '00:00:00';
                     $data['lunch_end_time'] = $lunch_end_time[$key] != '' ? date('H:i:s', strtotime($lunch_end_time[$key])) : '00:00:00';
                     $data['address_id'] = $address_id[$key] != '' ? $address_id[$key] : null;
                     $data['days_id'] = $key;
                     $data['user_id'] = $user_id;
                     if ($mode == 'edit') {
                         $data['id'] = $id[$key] == "" ? $id[$key - 1] + 1 : $id[$key];
                         $wk_res = $api->curl($api_url . "/api/sp_availability/?user_id=" . $user_id, $data, "PUT");
                     } else {
                         $wk_res = $api->curl($api_url . "/api/sp_availability/?user_id=" . $user_id, $data, "POST");
                     }
                     if ($wk_res->getStatusCode() != 200 && $wk_res->getStatusCode() != 201) {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to update workdays..!!', 'error' => json_decode($wk_res->getBody(), true), 'workdays' => $model->getSPWorkdays($user_id, $api_url)));
                         exit;
                     }
                 }
                 if ($request->getQuery('delay_id') != "") {
                     $delay_res = $api->curl($api_url . "/api/appointment_delay_list/" . $request->getQuery('delay_id') . "/", array('user_id' => $user_id, 'delay_time' => $request->getQuery('appointment_delay')), "PUT");
                 } else {
                     $delay_res = $api->curl($api_url . "/api/appointment_delay_list/", array('user_id' => $user_id, 'delay_time' => $request->getQuery('appointment_delay')), "POST");
                 }
                 if ($delay_res->getStatusCode() != 200 && $delay_res->getStatusCode() != 201) {
                     echo json_encode(array('status' => 0, 'msg' => 'Failed to update appointment delay time..!!', 'workdays' => $model->getSPWorkdays($user_id, $api_url)));
                 } else {
                     echo json_encode(array('status' => 1, 'msg' => 'Workdays updated successfully..!!', 'error' => json_decode($wk_res->getBody(), true), 'workdays' => $model->getSPWorkdays($user_id, $api_url)));
                 }
                 break;
             case 'sp_address':
                 //echo json_encode(array('status' => 0, 'msg' => 'here')); exit;
                 if ($request->getPost('layout') == 'true') {
                     $view = new viewModel(array('states' => $common->getstatesByCountry($api_url), 'countries' => $common->getCountries($api_url), 'location_types' => $model->getLocationTypes($api_url), 'id' => $request->getPost('id')));
                     $view->setTemplate('application/practitioner/workplaceaddress.phtml');
                     $printData = $this->getServiceLocator()->get('viewrenderer')->render($view);
                     echo json_encode(array('layout' => $printData));
                     exit;
                 }
                 $address_data = array();
                 $address_data['user_type'] = 'sp';
                 $address_data['user_id'] = $user_id;
                 $address_id = $request->getQuery('address_id');
                 trim($request->getQuery('street1_address')) != "" ? $address_data['street1_address'] = trim($request->getQuery('street1_address')) : '';
                 trim($request->getQuery('zip_code')) != "" ? $address_data['zip_code'] = trim($request->getQuery('zip_code')) : '';
                 trim($request->getQuery('city')) != "" ? $address_data['city'] = trim($request->getQuery('city')) : '';
                 trim($request->getQuery('country_id')) != "" ? $address_data['country_id'] = trim($request->getQuery('country_id')) : '';
                 trim($request->getQuery('state_id')) != "" ? $address_data['state_id'] = trim($request->getQuery('state_id')) : '';
                 trim($request->getQuery('location_type_id')) != "" ? $address_data['location_type_id'] = trim($request->getQuery('location_type_id')) : '';
                 echo json_encode($model->updateSPAddress($api_url, $address_data, $address_id, $session->userid));
                 break;
             case 'remove_sp_address':
                 $address_id = $request->getPost('id');
                 echo json_encode($model->deleteSPAddress($api_url, $address_id, $session->userid));
                 break;
             case 'invite':
                 //if ($request->getPost('user') != "" && $request->getPost('email') != "") {
                 if ($request->getPost('email') != "") {
                     $common = new Common();
                     if ($template = $common->emailTemplate($api_url, 5)) {
                         $user_details = $model->getSPDetails($api_url, $session->userid);
                         $mail = new Message();
                         $transport = new \Zend\Mail\Transport\Sendmail();
                         $html = new MimePart(stripslashes(preg_replace('/{{user_name}}/i', '<strong>' . $user_details['first_name'] . ' ' . $user_details['last_name'] . '</strong>', $template['content'])));
                         $html->type = "text/html";
                         $body = new MimeMessage();
                         $body->setParts(array($html));
                         $mail->setBody($body)->setFrom($template['fromEmail'], 'Ovessence')->addTo($request->getPost('email'), '')->setSubject($template['subject']);
                         $transport->send($mail);
                         echo json_encode(array('status' => 1, 'msg' => 'Invitation sent to the email address..!!'));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Unable to find mail template..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'Unable to send invitation..!!'));
                 }
                 break;
         }
     }
     exit;
 }
 public function updateAction()
 {
     $request = $this->getRequest();
     if ($request->isPost()) {
         $action = $request->getPost('action', 'profile');
         $api = new Api();
         $api_url = $this->getServiceLocator()->get('config')['api_url']['value'];
         $session = new Container('frontend');
         $consumer = new Consumers();
         switch ($action) {
             case 'profile':
                 $errors = array();
                 $user_id = $details_data['user_id'] = $request->getQuery('user_id');
                 $contact_data['first_name'] = trim($request->getQuery('first_name')) != "" ? trim($request->getQuery('first_name')) : '';
                 $contact_data['last_name'] = trim($request->getQuery('last_name')) != "" ? trim($request->getQuery('last_name')) : '';
                 $contact_data['age'] = trim($request->getQuery('age')) != "" ? trim($request->getQuery('age')) : '';
                 $contact_data['gender'] = trim($request->getQuery('gender')) != "" ? trim($request->getQuery('gender')) : '';
                 /* contact validation starts here */
                 foreach ($contact_data as $key => $value) {
                     if ($value == '' && $key != 'language') {
                         $errors[$key] = "This field is required.";
                     } elseif ($key == "age" && $value > 99) {
                         $errors[$key] = "Please provide valid age.";
                     }
                 }
                 /* contact validation starts here */
                 $languages = $request->getQuery('language');
                 $del_res = $api->curlUpdate($api_url . "/api/consumerrelateddata/", array('op' => "language", 'users_id' => $user_id), "DELETE");
                 if (is_array($languages) && count($languages) > 0) {
                     foreach ($languages as $language) {
                         $user_languages[] = array('user_id' => $user_id, 'language_id' => $language);
                     }
                     $result = $api->curl($api_url . "/api/consumerrelateddata/", array('language' => json_encode($user_languages, true)), "POST");
                 }
                 if (count($errors) <= 0) {
                     $user_res = $api->curl($api_url . "/api/users/" . $user_id . "/", $contact_data, "PUT");
                     if ($user_res->getStatusCode() == 200) {
                         echo json_encode(array('status' => 1, 'msg' => 'Profile successfully updated..!!'));
                     } else {
                         $errors = $user_res->getStatusCode() != 200 && is_array(json_decode($user_res->getBody(), true)) ? array_merge($errors, json_decode($user_res->getBody(), true)) : $errors;
                         echo json_encode(array('status' => 0, 'errors' => $errors));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'errors' => $errors));
                 }
                 break;
             case 'contact':
                 $contact_data = array();
                 $errors = array();
                 $contact_data['home_phone'] = $request->getQuery('home_phone') != "" ? trim($request->getQuery('home_phone')) : '';
                 $contact_data['cell_phone'] = $request->getQuery('cell_phone') != "" ? trim($request->getQuery('cell_phone')) : '';
                 $contact_data['work_phone'] = $request->getQuery('work_phone') != "" ? trim($request->getQuery('work_phone')) : '';
                 $contact_data['fax'] = $request->getQuery('fax') != "" ? trim($request->getQuery('fax')) : '';
                 $contact_data['user_id'] = $session->userid != "" ? $session->userid : '';
                 /* contact validation starts here */
                 foreach ($contact_data as $key => $value) {
                     /*if ($value != '' && !in_array($key, array('')) && !is_numeric($value)) {
                           $errors[$key] = "Must be a numberic value.";
                       } else*/
                     if ($key == "home_phone" && $value == '') {
                         $errors[$key] = "Field is requried.";
                     } elseif ($key == "cell_phone" && $value == '') {
                         $errors[$key] = "Field is requried.";
                     } elseif ($key == "fax" && $value != '' && !is_numeric($value)) {
                         $errors[$key] = "Valid Fax No. must be a numberic value.";
                     } elseif ($key == "home_phone" && !preg_match('/^\\d{11}$/', $value)) {
                         //} elseif (($key == "home_phone" && !preg_match('/^(\(\+[0-9]\))\s*([0-9]{3})-([0-9]{3})-([0-9]{4})$/', $value))) {
                         $errors[$key] = "Valid Phone number must be 11 digit number (1 as a prefix and 10 digit phone number).";
                     } elseif ($key == "work_phone" && $value != '' && !preg_match('/^\\d{11}$/', $value)) {
                         //} elseif (($key == "home_phone" && !preg_match('/^(\(\+[0-9]\))\s*([0-9]{3})-([0-9]{3})-([0-9]{4})$/', $value))) {
                         $errors[$key] = "Valid Phone number must be 11 digit number (1 as a prefix and 10 digit phone number).";
                     } elseif ($key == "cell_phone" && !preg_match('/^\\d{11}$/', $value)) {
                         //} elseif (($key == "cell_phone" && !preg_match('/^(\(\+[0-9]\))\s*([0-9]{3})-([0-9]{3})-([0-9]{4})$/', $value))) {
                         $errors[$key] = "Valid Phone number must be 11 digit number (1 as a prefix and 10 digit phone number).";
                     } elseif ($key == "fax" && $value != '' && !preg_match('/^\\d{11}$/', $value)) {
                         //} elseif (($key == "home_phone" && !preg_match('/^(\(\+[0-9]\))\s*([0-9]{3})-([0-9]{3})-([0-9]{4})$/', $value))) {
                         $errors[$key] = "Valid Fax number must be 11 digit number (1 as a prefix and 10 digit phone number).";
                     }
                 }
                 /* contact validation ends here */
                 if (count($errors) <= 0) {
                     $contact_id = $request->getQuery('contact_id');
                     /* check if contact exists */
                     $contact_check = $api->curl($api_url . "/api/users/contact/" . $contact_id . "/", array(), "GET");
                     //$contact_data_check = json_decode($contact_check->getBody(), true);
                     if ($contact_check->getStatusCode() == 404 && $contact_id == "") {
                         $contact_res = $api->curl($api_url . "/api/users/contact/", $contact_data, "POST");
                         if ($contact_res->getStatusCode() == 201) {
                             echo json_encode(array('status' => 1, 'msg' => 'User contact successfully added..!!'));
                         } else {
                             $errors = $contact_res->getStatusCode() != 200 && is_array(json_decode($contact_res->getBody(), true)) ? array_merge($errors, json_decode($contact_res->getBody(), true)) : $errors;
                             echo json_encode(array('status' => 0, 'errors' => $errors));
                         }
                     } elseif ($contact_check->getStatusCode() == 200 && $contact_id != "") {
                         $contact_check_res = json_decode($contact_check->getBody(), true);
                         if ($contact_id == $contact_check_res['id'] && $contact_check_res['user_id'] == $session->userid) {
                             $contact_res = $api->curl($api_url . "/api/users/contact/" . $contact_id . "/", $contact_data, "PUT");
                             if ($contact_res->getStatusCode() == 200) {
                                 echo json_encode(array('status' => 1, 'msg' => 'User contact successfully updated..!!'));
                             } else {
                                 $errors = $contact_res->getStatusCode() != 200 && is_array(json_decode($contact_res->getBody(), true)) ? array_merge($errors, json_decode($contact_res->getBody(), true)) : $errors;
                                 echo json_encode(array('status' => 0, 'errors' => $errors));
                             }
                         }
                     } else {
                         $errors['Contact'] = "Unable to update contact please try again..!!.";
                         echo json_encode(array('status' => 0, 'errors' => $errors));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'errors' => $errors));
                 }
                 break;
             case 'address':
                 $address_data = array();
                 $errors = array();
                 $address_data['user_type'] = '';
                 $address_data['location_type_id'] = 1;
                 $address_data['user_id'] = $session->userid;
                 $address_data['street1_address'] = trim($request->getQuery('street1_address')) != "" ? trim($request->getQuery('street1_address')) : '';
                 $address_data['city'] = trim($request->getQuery('city')) != "" ? trim($request->getQuery('city')) : '';
                 $address_data['state_id'] = trim($request->getQuery('state_id')) != "" ? trim($request->getQuery('state_id')) : '';
                 $address_data['country_id'] = trim($request->getQuery('country_id')) != "" ? trim($request->getQuery('country_id')) : '';
                 $address_data['zip_code'] = trim($request->getQuery('zip_code')) != "" ? trim($request->getQuery('zip_code')) : '';
                 /* contact validation starts here */
                 foreach ($address_data as $key => $value) {
                     if ($key == "zip_code" && $value == '') {
                         $errors[$key] = "Please enter a valid zip code.";
                     }
                 }
                 /* contact validation ends here */
                 if (count($errors) <= 0) {
                     $address_id = $request->getQuery('address_id');
                     /* check if contact exists */
                     $address_check = $api->curl($api_url . "/api/address/" . $address_id . "/", array(), "GET");
                     //$address_check = $api->curl($api_url . "/api/address/505/", array(), "GET");
                     if ($address_check->getStatusCode() == 404 && $address_id == "") {
                         $address_res = $api->curl($api_url . "/api/address/", $address_data, "POST");
                         if ($address_res->getStatusCode() == 200) {
                             echo json_encode(array('status' => 1, 'msg' => 'User contact successfully added..!!'));
                         } else {
                             $errors = $address_res->getStatusCode() != 200 && is_array(json_decode($address_res->getBody(), true)) ? array_merge($errors, json_decode($address_res->getBody(), true)) : $errors;
                             echo json_encode(array('status' => 0, 'errors' => $errors));
                         }
                     } elseif ($address_check->getStatusCode() == 200 && $address_id != "") {
                         $address_res = $api->curl($api_url . "/api/address/" . $address_id . "/", $address_data, "PUT");
                         if ($address_res->getStatusCode() == 201) {
                             echo json_encode(array('status' => 1, 'msg' => 'User address successfully updated..!!'));
                         } else {
                             $errors = $address_res->getStatusCode() != 201 && is_array(json_decode($address_res->getBody(), true)) ? array_merge($errors, json_decode($address_res->getBody(), true)) : $errors;
                             echo json_encode(array('status' => 0, 'errors' => $errors));
                         }
                     } else {
                         $errors['Address'] = "Unable to update address please try again..!!.";
                         echo json_encode(array('status' => 0, 'errors' => $errors));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'errors' => $errors));
                 }
                 break;
             case 'consumer-avatar':
                 $File = $this->params()->fromFiles('consumer-avatar');
                 $valid_file_ext = array("image/jpg", "image/jpeg", "image/bmp", "image/gif", "image/png");
                 if ($File['error'] == 0 && $File['size'] > 0) {
                     if (in_array($File['type'], $valid_file_ext)) {
                         $session = new Container('frontend');
                         $user_id = $session->userid;
                         $api = new Api();
                         $api_url = $this->getServiceLocator()->get('config')['api_url']['value'];
                         $res = $api->curl($api_url . "/api/users/" . $user_id . "/", array(), "GET");
                         if ($res->getStatusCode() == 200) {
                             $data = json_decode($res->getBody());
                             $old_avtar_url = $data->avtar_url;
                             // uploading consumer avtar
                             $S3 = new ImageS3();
                             $avatar_data = $S3->uploadFiles($_FILES['consumer-avatar'], '', array(), array('Avtars' => '378x378\\>\\!'));
                             //deleting existing avatar from Amazone
                             $old_avtar_url != '' ? $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $old_avtar_url)) : '';
                             //updating avtar for user
                             $res = $api->curl($api_url . "/api/users/" . $user_id . "/", array('avtar_url' => $avatar_data['Avtars']), "PUT");
                             if ($res->getStatusCode() == 200 || $res->getStatusCode() == 201) {
                                 echo json_encode(array('status' => 1, 'msg' => 'Avtar image changed successfully..!!', 'image_url' => $avatar_data['Avtars']));
                             } else {
                                 echo json_encode(array('status' => 0, 'msg' => 'Failed to update avtar image..!!'));
                             }
                         } else {
                             echo json_encode(array('status' => 0, 'msg' => 'Failed to update avtar image..!!'));
                         }
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Please upload a valid image..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'No file selected for upload..!!'));
                 }
                 break;
             case 'delete_avtar':
                 $details = $consumer->getConsumerdetails($api_url, $session->userid);
                 if (isset($details['avtar_url']) && $details['avtar_url'] != '') {
                     $S3 = new ImageS3();
                     $res = $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $details['avtar_url']));
                     //updating avtar for user
                     $res = $api->curl($api_url . "/api/users/" . $session->userid . "/", array('avtar_url' => ''), "PUT");
                     if ($res->getStatusCode() == 200 || $res->getStatusCode() == 201) {
                         echo json_encode(array('status' => 1, 'msg' => 'Avtar image deleted successfully..!!', 'code' => $res));
                     } else {
                         echo json_encode(array('status' => 0, 'msg' => 'Failed to delete avtar image..!!'));
                     }
                 } else {
                     echo json_encode(array('status' => 0, 'msg' => 'No image found..!!'));
                 }
                 break;
         }
     }
     exit;
 }
 public function editAction()
 {
     $id = (int) $this->params()->fromRoute('id', 0);
     if (!$id) {
         return $this->redirect()->toRoute('admin/sitebanner', array('action' => 'add'));
     }
     $banner = $this->getBannerTable()->getBanner($id);
     if ($banner == false) {
         $this->flashMessenger()->addErrorMessage('Banner not found..!!');
         return $this->redirect()->toRoute('admin/sitebanner');
     }
     $form = new SiteBannerForm($this->getServiceLocator()->get('Admin\\Model\\AdvertisementPageTable'), $this->getServiceLocator()->get('Admin\\Model\\StatusTable'));
     $old_image = $banner->banner_url;
     $form->bind($banner);
     $form->get('submit')->setAttribute('value', 'Edit');
     $request = $this->getRequest();
     if ($request->isPost()) {
         $File = $this->params()->fromFiles('banner_url');
         // Make certain to merge the files info!
         $post = array_merge_recursive($request->getPost()->toArray(), array('banner_url' => $File['name']));
         $old_image != '' ? $banner->getInputFilter()->get('banner_url')->setRequired(false) : '';
         $form->setInputFilter($banner->getInputFilter());
         $form->setData($post);
         if ($form->isValid()) {
             $S3 = new ImageS3();
             $formData = $form->getData();
             if ($File['name'] != "") {
                 $validator = new IsImage();
                 if ($validator->isValid($File['tmp_name'])) {
                     /* Image uploading code starts */
                     $size = new Size(array('min' => 200, 'max' => 20000000));
                     $adapter = new \Zend\File\Transfer\Adapter\Http();
                     $adapter->setValidators(array($size), $File['name']);
                     if (!$adapter->isValid()) {
                         $dataError = $adapter->getMessages();
                         return array('form' => $form, 'file_errors' => $dataError);
                     } else {
                         $data = $S3->uploadFiles($_FILES['banner_url'], "Banners", array());
                         if (is_array($data) && count($data) > 0) {
                             $formData->banner_url = $data['Original'];
                             // deleting old image
                             $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $old_image));
                         }
                     }
                     /* Image uploading code ends */
                 } else {
                     return array('form' => $form, 'file_errors' => $validator->getMessages());
                 }
             } else {
                 $formData->banner_url = $old_image;
             }
             $this->getBannerTable()->saveBanner($formData);
             $this->flashMessenger()->addSuccessMessage('Banner updated successfully..!!');
             // Redirect to list of pages
             return $this->redirect()->toRoute('admin/sitebanner');
         } else {
             $this->errors = $form->getMessages();
         }
     }
     return array('id' => $id, 'form' => $form, 'errors' => $this->errors, 'siteBanner' => $banner);
 }
 public function avtarAction()
 {
     $id = (int) $this->params()->fromRoute('id', 0);
     $user_id = (int) $this->params()->fromRoute('user_id', 0);
     $user = $this->getServiceLocator()->get('Admin\\Model\\UsersTable')->getUser($user_id);
     if ($user == false) {
         $this->flashMessenger()->addErrorMessage('User not found..!!');
         return $this->redirect()->toRoute('admin/users');
     }
     if (!$id) {
         return $this->redirect()->toRoute('admin/usersmedia', array('user_id' => $user_id));
     }
     $usersMedia = $this->getUserMediaTable()->getMedia($id);
     $file = explode('/', $usersMedia->media_url);
     $fileName = "./public/uploads/" . end($file);
     file_put_contents($fileName, fopen($usersMedia->media_url, 'r'));
     $S3 = new ImageS3();
     $data = $S3->uploadFile($fileName, array('Avtars' => '378x378'));
     $old_image = $this->getUserMediaTable()->getUserAvtar($user_id);
     $old_image != '' ? $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $old_image)) : '';
     $this->getUserMediaTable()->setUserAvtar($user_id, $data['Avtars']);
     $this->flashMessenger()->addSuccessMessage('Avtar image uploaded successfully..!!');
     return $this->redirect()->toRoute('admin/usersmedia', array('user_id' => $user_id));
 }
示例#7
0
 public function deleteAction()
 {
     $id = (int) $this->params()->fromRoute('id', 0);
     if (!$id) {
         return $this->redirect()->toRoute('admin/media');
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $del = $request->getPost('del', 'No');
         if ($del == 'Yes') {
             $id = (int) $request->getPost('id');
             $media = $this->getMediaTable()->getMedia($id);
             if (stristr($media->media_url, 'https://ovessence.s3.amazonaws.com') != false) {
                 /* Deleting Images from amazon - starts here */
                 $S3 = new ImageS3();
                 $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', $media->media_url));
                 $S3->deleteFile(str_replace('https://ovessence.s3.amazonaws.com/', '', str_replace('Media', 'Media_thumb', $media->media_url)));
                 /* Deleting Images from amazon - ends here */
             } else {
                 $session = new Container('vimeo');
                 $session->files = array($media->media_url);
                 $session->mode = 'delete';
                 $session->returnUrl = $this->url()->fromRoute('admin/media');
                 $this->getMediaTable()->deleteMedia($id);
                 // Delete record from database
                 if ($media->status_id == 9) {
                     return $this->redirect()->toRoute('admin/media', array('action' => 'vimeologin'));
                 } else {
                     @unlink($media->media_url);
                 }
             }
             $this->getMediaTable()->deleteMedia($id);
             // Delete recode from database
             $this->flashMessenger()->addSuccessMessage('Media deleted successfully..!!');
         }
         // Redirect to list of banners
         return $this->redirect()->toRoute('admin/media');
     }
     return array('id' => $id, 'media' => $this->getMediaTable()->getMedia($id));
 }