public function proverka_geo($data_geo, $i) { global $db, $geo_old, $next_id, $user, $id, $geo_ids, $meetings_cash, $new_geo; $geo_old = array(); $meetings_cash = array(); $new_geo = 0; // Получение тайников $data_gn = addCslashes($data_geo['geo_name'], '%_'); $data_gn = str_replace('\\', '\\\\', $data_gn); $data_gn = addCslashes($data_gn, '_%'); $sql = "SELECT * FROM " . GEO_TABLE . " \n\t\t\tWHERE geo_id > 0\n\t\t\tAND geo_link ='" . $data_geo['geo_link'] . "'\n\t\t\tOR geo_name = '" . $data_gn . "'"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $geo_old = $row; $meetings_cash[] = $row['geo_id']; } $db->sql_freeresult($result); //trigger_error(sizeof($geo_old). '-'. $data_geo['geo_name'] .'-'. $data_geo['geo_link']); //Нет в БД, нет названия, нет ссылки (новый) if (!sizeof($geo_old) && !empty($data_geo['geo_name']) && !empty($data_geo['geo_link'])) { $data_geo_2 = array('bbcode_bitfield' => '', 'bbcode_uid' => '', 'geo_descr' => ''); $data_geo = array_merge($data_geo, $data_geo_2); trigger_error('ins'); //STOP insert_geocash($data_geo); $new_geo = 1; return $new_geo; } else { if (empty($data_geo['geo_name']) && empty($data_geo['geo_link'])) { $geo_id = $geo_ids[$i]; $data_geo_3 = array('geo_id' => $geo_id); $data_geo = array_merge($data_geo, $data_geo_3); trigger_error('del'); update_geocash($geo_id, $data_geo, $i); return $new_geo; } else { if ($geo_old['geo_meeting_id'] == $data_geo['geo_meeting_id']) { $data_geo_3 = array('geo_id' => $geo_old['geo_id']); $data_geo = array_merge($data_geo, $data_geo_3); trigger_error('chng'); update_geocash($geo_id, $data_geo, $i); return $new_geo; } else { //trigger_error('old'); return $geo_old; } } } }
} else { if ($pos === false) { $errors .= $user->lang['Error_geosu']; } else { //trigger_error('OK'); if ($mode == 'edit') { $geo_poster_id = $edit_poster; } else { $geo_poster_id = $user->data['user_id']; } $data_geo = array('geo_meeting_id' => 0, 'geo_marshrut_id' => 0, 'geo_name' => $geo_name, 'geo_country' => $geo_country, 'geo_region' => $geo_region, 'geo_link' => $geo_link, 'geo_poster_id' => $geo_poster_id, 'geo_last_edit_user' => time(), 'geo_save' => 0, 'geo_coord' => $geo_coord, 'geo_google' => $geo_google, 'geo_type' => $geo_type, 'geo_author' => $geo_author, 'geo_date' => $geo_date); $redirect_url = append_sid("{$phpbb_root_path}meeting_cash.{$phpEx}"); if ($mode == 'edit') { $data_geo_2 = array('geo_id' => $edit); $data_geo = array_merge($data_geo, $data_geo_2); update_geocash($geo_id, $data_geo, $i); meta_refresh(2, $redirect_url); trigger_error(sprintf($user->lang['GEO_EDITED'], '<a href="' . $redirect_url . '">', '</a>') . '<br />'); } else { proverka_geo($data_geo, 0); meta_refresh(2, $redirect_url); trigger_error(sprintf($user->lang['GEO_ADDED'], '<a href="' . $redirect_url . '">', '</a>') . '<br />'); } } } } /** template **/ $geouid = $mode == 'edit' ? $edit_link : $geouid; $template->assign_vars(array('EDIT_NAME' => $edit_name, 'L_GEO' => $page_title, 'L_GO' => $user->lang['Submit'], 'GEO_UID' => $geouid, 'ERROR' => $errors, 'VIEW_DATA' => $view_data ? $view_data : ($mode == 'edit' ? $user->lang['INFO_EDIT_DATA'] : $user->lang['INFO_VIEW_DATA']), 'S_ACTION_SEND' => append_sid("{$phpbb_root_path}meeting_cash.{$phpEx}", "mode=new&action=send"), 'S_ACTION_SEND_E' => append_sid("{$phpbb_root_path}meeting_cash.{$phpEx}", "mode=edit&action=send&edit={$edit}"), 'S_ACTION' => append_sid("meeting_cash.{$phpEx}"), 'EDIT' => $mode == 'edit' ? true : false, 'GEO_ID' => $edit)); $template->set_filenames(array('body' => 'meetings_cashnew.html')); page_footer();