Exemplo n.º 1
0
    }
    $params = explode(',', $_GET['msg']);
    if (count($params) == 2) {
        $manual = org_routamc_positioning_importer::create('manual');
        $manual_position = array();
        $manual_position['city'] = trim($params[0]);
        $manual_position['country'] = trim($params[1]);
        $manual_position['person'] = $person->id;
        $import = $manual->import($manual_position);
        if (!$import) {
            // Send error message to user
            org_routamc_positioning_send_sms($person->handphone, "Failed to store position, reason {$manual->error}", $config->get('smslib_from'), $config);
        } else {
            // Get current coordinates
            $user_position = new org_routamc_positioning_person($person);
            $latest_log = $user_position->seek_log();
            $latest_coord = array('latitude' => $latest_log->latitude, 'longitude' => $latest_log->longitude);
            $previous_log = $latest_log->get_previous();
            $message = "New location is " . org_routamc_positioning_utils::pretty_print_coordinates($latest_log->latitude, $latest_log->longitude) . ".";
            if ($previous_log) {
                $previous_coord = array('latitude' => $previous_log->latitude, 'longitude' => $previous_log->longitude);
                $message .= " Previous was " . org_routamc_positioning_utils::get_distance($previous_coord, $latest_coord) . "km " . org_routamc_positioning_utils::get_bearing($latest_coord, $previous_coord) . ".";
            }
            org_routamc_positioning_send_sms($person->handphone, $message, $config->get('smslib_from'), $config);
        }
    }
    midcom::get('auth')->drop_sudo();
    midcom::get()->finish();
    _midcom_stop_request();
}
midcom::get('auth')->require_valid_user();