Example #1
0
 /**
  * Get a subset of the items from the input data.
  *
  * @param  array  $keys
  * @return array
  */
 public function only($keys)
 {
     $keys = is_array($keys) ? $keys : func_get_args();
     $results = [];
     $inputs = $this->all();
     foreach ($keys as $key) {
         Arrays::set($results, $key, Arrays::get($inputs, $key));
     }
     return $results;
 }
Example #2
0
 public function getOptionsMacroData($segment_id)
 {
     $user = session('user')->getUser();
     $segment = Model::Segment()->find((int) $segment_id);
     if ($segment) {
         if (Inflector::lower($segment->name) == 'restaurant') {
             return $this->getOptionsMacroDataResto($segment, $user);
         }
     }
     if ($user) {
         if (Arrays::is($user)) {
             if (!is_integer($segment_id)) {
                 return [];
             }
             if (!isset($user['employee'])) {
                 return false;
             }
             if (!isset($user['settings'])) {
                 return false;
             }
             if (!isset($user['settings']['employee_index'])) {
                 return false;
             }
             if (!isset($user['employee'][$user['settings']['employee_index']])) {
                 return false;
             }
             // if (!isset($user['employee'][$user['settings']['employee_index']]['id'])) {
             //     return false;
             // }
             if (!isset($user['employee'][$user['settings']['employee_index']]['reseller_id'])) {
                 return false;
             }
             // $reselleremployee_id    = $user['employee'][$user['settings']['employee_index']]['id'];
             $reseller_id = $user['employee'][$user['settings']['employee_index']]['reseller_id'];
             $reseller = Model::Reseller()->find((int) $reseller_id);
             // $reselleremployee = Model::Reselleremployee()->find((int) $reselleremployee_id);
             if ($reseller) {
                 // if ($reseller && $reselleremployee) {
                 if (is_integer($segment_id)) {
                     if ($segment) {
                         $form = $this->getOptionsFromMarket((int) $segment_id);
                         $returnForm = [];
                         if (!empty($form)) {
                             if (isset($form['offres_devis'])) {
                                 $offres_devis = lib('option')->get('offres.devis.' . $segment_id, $reseller, 1);
                                 if (is_bool($offres_devis)) {
                                     $offres_devis = true === $offres_devis ? 1 : 0;
                                 } elseif (empty($offres_devis)) {
                                     $offres_devis = 0;
                                 }
                                 $returnForm['offres_devis'] = $offres_devis;
                             }
                             if (isset($form['agenda_partage'])) {
                                 $agenda_partage = lib('option')->get('agenda.partage.' . $segment_id, $reseller, 1);
                                 if (is_bool($agenda_partage)) {
                                     $agenda_partage = true === $agenda_partage ? 1 : 0;
                                 } elseif (empty($agenda_partage)) {
                                     $agenda_partage = 0;
                                 }
                                 $returnForm['agenda_partage'] = $agenda_partage;
                             }
                             if (isset($form['delai_intervention'])) {
                                 $delai_intervention = lib('option')->get('delai.intervention.' . $segment_id, $reseller, 0);
                                 $returnForm['delai_intervention'] = $delai_intervention;
                             }
                             if (isset($form['montant_intervention'])) {
                                 $montant_intervention = lib('option')->get('montant.intervention.' . $segment_id, $reseller, 0);
                                 $returnForm['montant_intervention'] = $montant_intervention;
                             }
                             if (isset($form['zone_intervention'])) {
                                 $zone_intervention = lib('option')->get('zone.intervention.' . $segment_id, $reseller, 0);
                                 $returnForm['zone_intervention'] = $zone_intervention;
                             }
                             if (isset($form['langue'])) {
                                 if (isset($form['langue']['values'])) {
                                     $langues = Arrays::get($form, 'langue.values', []);
                                     foreach ($langues as $ind => $key) {
                                         $val = lib('option')->get('langue.' . $segment_id . '.' . $key, $reseller, false);
                                         if (is_bool($val)) {
                                             $val = true === $val ? 1 : 0;
                                         } elseif (empty($val)) {
                                             $val = 0;
                                         }
                                         $returnForm['langue_' . $ind] = $val;
                                     }
                                 }
                             }
                             if (isset($form['agenda_horaires'])) {
                                 $days = ['lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'];
                                 foreach ($days as $day) {
                                     $index_am_start = str_replace('##day##', $day, 'agenda_horaires_##day##_am_start');
                                     $index_am_end = str_replace('##day##', $day, 'agenda_horaires_##day##_am_end');
                                     $index_pm_start = str_replace('##day##', $day, 'agenda_horaires_##day##_pm_start');
                                     $index_pm_end = str_replace('##day##', $day, 'agenda_horaires_##day##_pm_end');
                                     $schedule = Model::Schedule()->where(['day', '=', (string) $day])->where(['reseller_id', '=', (int) $reseller->id])->first(true);
                                     if ($schedule) {
                                         $am_start = $schedule->am_start;
                                         $am_end = $schedule->am_end;
                                         $pm_start = $schedule->pm_start;
                                         $pm_end = $schedule->pm_end;
                                         if ($am_start) {
                                             if ('ferme' == $am_start) {
                                                 $returnForm[$index_am_start] = '';
                                             } else {
                                                 $returnForm[$index_am_start] = str_replace('_', ':', $am_start);
                                             }
                                         } else {
                                             $returnForm[$index_am_start] = '';
                                         }
                                         if ($am_end) {
                                             if ('ferme' == $am_end) {
                                                 $returnForm[$index_am_end] = '';
                                             } else {
                                                 $returnForm[$index_am_end] = str_replace('_', ':', $am_end);
                                             }
                                         } else {
                                             $returnForm[$index_am_end] = '';
                                         }
                                         if ($pm_start) {
                                             if ('ferme' == $pm_start) {
                                                 $returnForm[$index_pm_start] = '';
                                             } else {
                                                 $returnForm[$index_pm_start] = str_replace('_', ':', $pm_start);
                                             }
                                         } else {
                                             $returnForm[$index_pm_start] = '';
                                         }
                                         if ($pm_end) {
                                             if ('ferme' == $pm_end) {
                                                 $returnForm[$index_pm_end] = '';
                                             } else {
                                                 $returnForm[$index_pm_end] = str_replace('_', ':', str_replace('23_59', '00_00', $pm_end));
                                             }
                                         } else {
                                             $returnForm[$index_pm_end] = '';
                                         }
                                     } else {
                                         if ($day == 'dimanche' || $day == 'samedi') {
                                             $returnForm[$index_am_start] = '';
                                             $returnForm[$index_am_end] = '';
                                             $returnForm[$index_pm_start] = '';
                                             $returnForm[$index_pm_end] = '';
                                         } else {
                                             $returnForm[$index_am_start] = '8:00';
                                             $returnForm[$index_am_end] = '12:00';
                                             $returnForm[$index_pm_start] = '14:00';
                                             $returnForm[$index_pm_end] = '18:00';
                                         }
                                     }
                                 }
                             }
                         }
                         return $returnForm;
                     }
                 }
             }
         }
     }
     return [];
 }