/** * 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; }
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 []; }