'Maps & Earth',
'URL' => get_admin_plugin_menu_link(dirname(__FILE__).'/admin.php')
)
);
return $menu;
}
add_event_handler('get_batch_manager_prefilters', 'rvm_get_batch_manager_prefilters');
function rvm_get_batch_manager_prefilters($prefilters)
{
rvm_load_language();
$prefilters[] = array('ID' => 'geotagged', 'NAME' => l10n('Geotagged'));
$prefilters[] = array('ID' => 'not geotagged', 'NAME' => l10n('Not geotagged'));
return $prefilters;
}
add_event_handler('perform_batch_manager_prefilters', 'rvm_perform_batch_manager_prefilters', 50, 2);
function rvm_perform_batch_manager_prefilters($filter_sets, $prefilter)
{
if ($prefilter==="geotagged")
$query = 'lat IS NOT NULL AND lon IS NOT NULL';
elseif ($prefilter==="not geotagged")
$query = 'lat IS NULL OR lon IS NULL';
if ( isset($query) )
{
$query = '
SELECT id
FROM '.IMAGES_TABLE.'
WHERE '.$query;
$filter_sets[] = array_from_query($query, 'id');
}
return $filter_sets;
}
add_event_handler('loc_end_element_set_global', 'rvm_loc_end_element_set_global');
function rvm_loc_end_element_set_global()
{
rvm_load_language();
global $template;
$template->append('element_set_global_plugins_actions',
array('ID' => 'geotag', 'NAME'=>l10n('Geotag'), 'CONTENT' => '
(Empty values will erase coordinates)
'));
}
add_event_handler('element_set_global_action', 'rvm_element_set_global_action', 50, 2);
function rvm_element_set_global_action($action, $collection)
{
if ($action!=="geotag")
return;
global $page;
$lat = trim($_POST['lat']);
$lon = trim($_POST['lon']);
if ( strlen($lat)>0 and strlen($lon)>0 )
{
if ( (double)$lat<=90 and (double)$lat>=-90
and (double)$lon<=180 and (double)$lat>=-180 )
$update_query = 'lat='.$lat.', lon='.$lon;
else
$page['errors'][] = 'Invalid lat or lon value';
}
elseif ( strlen($lat)==0 and strlen($lon)==0 )
$update_query = 'lat=NULL, lon=NULL';
else
$page['errors'][] = 'Both lat/lon must be empty or not empty';
if (isset($update_query))
{
$update_query = '
UPDATE '.IMAGES_TABLE.' SET '.$update_query.'
WHERE id IN ('.implode(',',$collection).')';
pwg_query($update_query);
rvm_invalidate_cache();
}
}
?>