/** * @param $id * @param $data */ public function update($id, $data, $code = NULL) { //$this->cleanData($data); $coords = \Geolocation::getCoordsFromText($data['map_coords']); $data['lat'] = $coords[0]; $data['lon'] = $coords[1]; $to_code = isset($data['locality_nickname']) ? $data['name'] . " " . $data['locality_nickname'] : $data['name']; $data['code'] = $code ? $code : \Nette\Utils\Strings::webalize($to_code); $data['stroller'] = isset($data['stroller']) && $data['stroller'] == 1 ? 1 : 0; $data['visible'] = isset($data['visible']) && $data['visible'] == 1 ? 1 : 0; $data['ad_onhomepage'] = isset($data['ad_onhomepage']) && $data['ad_onhomepage'] == 1 ? 1 : 0; $data['ad'] = isset($data['ad']) && $data['ad'] == 1 ? 1 : 0; $data['show_in_catalogue'] = isset($data['show_in_catalogue']) && $data['show_in_catalogue'] == 1 ? 1 : 0; $data['show_in_calendar'] = isset($data['show_in_calendar']) && $data['show_in_calendar'] == 1 ? 1 : 0; //$data['ad_shire'] = isset($data['ad_shire']) && $data['ad_shire'] == 0 ? null : $data['ad_shire']; //$data['ad_category'] = isset($data['ad_category']) && $data['ad_category'] == 0 ? null : $data['ad_category']; $cats = $data['categories']; dibi::begin(); dibi::query('DELETE FROM [subject_x_category] WHERE [subject_id]=%i', $id); foreach ($cats as $k => $n) { dibi::query('INSERT INTO [subject_x_category] SET [subject_id]=%i', $id, ', [category_id]=%i', $n); } unset($data['categories']); dibi::query('UPDATE [subject] SET', $data, 'WHERE [id]=%i', $id); dibi::commit(); }
/** * @param $id * @param $data */ public function update($id, $data) { $this->cleanData($data); if (isset($data['map_coords'])) { $coords = Geolocation::getCoordsFromText($data['map_coords']); $data['lat'] = $coords[0]; $data['lon'] = $coords[1]; } $data['code'] = \Nette\Utils\Strings::webalize($data['name']); return dibi::query('UPDATE [locality] SET', $data, 'WHERE [id]=%i', $id); }