New update

This new update is totally functional and incorporates new theme tags
for introducing the map.
This commit is contained in:
Xavier Balderas 2012-02-01 19:35:59 +01:00
parent 9d76f5d795
commit 536c69fa7e
39 changed files with 4929 additions and 1908 deletions

View File

View File

@ -0,0 +1,94 @@
<?php
function soundmap_verify_captcha(){
session_start();
$aResponse['error'] = false;
$_SESSION['iQaptcha'] = false;
if(isset($_POST['data']))
{
if(htmlentities($_POST['data'], ENT_QUOTES, 'UTF-8') == 'qaptcha')
{
$_SESSION['iQaptcha'] = true;
if($_SESSION['iQaptcha']==true){
echo json_encode($aResponse);
}
else
{
$aResponse['error'] = true;
echo json_encode($aResponse);
}
}
else
{
$aResponse['error'] = true;
echo json_encode($aResponse);
}
}
else
{
$aResponse['error'] = true;
echo json_encode($aResponse);
}
die();
}
function soundmap_save_public_upload(){
$info = $_REQUEST['info'];
$uploader = $_REQUEST['uploader'];
$content = _soundmap_mountPostContent($info);
$title = _soundmap_mountPostTitle($info);
$soundmark_lat = $info['posLat'];
$soundmark_lng = $info['posLong'];
$soundmark_author = $info['author'];
$soundmark_date = $info['date'];
$soundmark_mail = $uploader['email'];
if ($title == "" && $soundmark_author != ""){
$title = $soundmark_author;
}elseif ($title =="" && $soundmark_author ==""){
$title = $info['fileName'];
}
if (!is_array($info['categoria'])){
$val = $info['categoria'];
$info['categoria'] = array($val);
}
$post_d = array(
'post_category' => $info['categoria'],
'post_content' => $content,
'post_status' => 'publish',
'post_title' => $title,
'post_type' => 'marker',
'comment_status' => 'closed'
//'tags_input' => [ '<tag>, <tag>, <...>' ] //For tags.
);
$post_id=wp_insert_post($post_d);
update_post_meta($post_id, 'soundmap_marker_lat', $soundmark_lat);
update_post_meta($post_id, 'soundmap_marker_lng', $soundmark_lng);
update_post_meta($post_id, 'soundmap_marker_author', $soundmark_author);
update_post_meta($post_id, 'soundmap_marker_date', $soundmark_date);
update_post_meta($post_id, 'EMAIL', $soundmark_mail);
$files = $info['attachID'];
delete_post_meta($post_id, 'soundmap_attachments_id');
update_post_meta($post_id, 'soundmap_attachments_id', $files);
soundmap_attach_file($files, $post_id);
echo "ok";
die();
}
?>

View File

@ -0,0 +1,131 @@
<?php
function get_the_latitude($id){
return get_post_meta($id,'soundmap_marker_lat', TRUE);
}
function get_the_longitude($id){
return get_post_meta($id,'soundmap_marker_lng', TRUE);
}
function the_map($css_id = 'map_canvas', $all_markers = FALSE, $options = array()){
$_soundmap = array();
global $soundmap;
$soundmap = wp_parse_args($options, $soundmap); // cojo las opciones para poder montar el mapa, por si algo cambia...
?>
<div class="<?php echo $css_id ?>">
</div>
<?php
if ($all_markers){
//cargo todos los marcadores
$soundmap['markers'] = 'all';
}else{
global $posts; //Array with the posts to show
$list = _soundmap_postsArrayToList($posts);
if (!is_array($list))
return;
$soundmap['markers'] = $list;
}
}
function the_marker_info($pre = '<ul><li class="post-info">',$sep = '</li><li>',$after = '</li></ul>'){
global $post;
$marker_id = $post->ID;
if ($post->post_type != "marker")
return;
$author = get_post_meta($marker_id, 'soundmap_marker_author', TRUE);
$date = get_post_meta($marker_id, 'soundmap_marker_date', TRUE);
echo $pre;
echo $author;
echo $sep;
echo $date;
echo $after;
}
function get_marker_author($id){
return get_post_meta($id, 'soundmap_marker_author', TRUE);
}
function get_marker_date($id){
return get_post_meta($id, 'soundmap_marker_date', TRUE);
}
function the_player($marker_id){
$data = array();
$files = get_post_meta($marker_id, 'soundmap_attachments_id', FALSE);
foreach ($files as $key => $value){
$file = array();
$att = get_post($value);
$file['id'] = $value;
$file['fileURI'] = wp_get_attachment_url($value);
$file['filePath'] = get_attached_file($value);
$file['info'] = soundmap_get_id3info($file['filePath']);
$file['name'] = $att->post_name;
$data['m_files'][] = $file;
}
add_player_interface($data['m_files'], $marker_id);
}
function insert_upload_form($text){
if (function_exists("qtrans_init")){
//We are using multilanguage
global $q_config;
$lang=$q_config['language'];
$dir = WP_PLUGIN_URL . "/soundmap/modules/module.soundmap.upload.php?lang=$lang&TB_iframe=true&width=960&height=550";
}else{
$dir = WP_PLUGIN_URL . "/soundmap/modules/module.soundmap.upload.php?TB_iframe=true&width=960&height=550";
}
$t="";
$title=__("Add new recording","soundmap");
$t .="<a class=\"thickbox\" title=\"$title\" href=\"$dir\">$text</a>";
echo $t;
}
function soundmap_rss_enclosure(){
$id = get_the_ID();
$files = get_post_meta($id, 'soundmap_attachments_id', FALSE);
foreach ( (array) $files as $key => $value) {
$fileURI= wp_get_attachment_url($value);
$info= soundmap_get_id3info($file['filePath']);
echo apply_filters('rss_enclosure', '<enclosure url="' . trim(htmlspecialchars($fileURI)) . '" length="' . trim($info['playtime_string']) . '" type="audio/mpeg" />' . "\n");
}
}
function add_player_interface($files, $id){
if(!is_array($files) || (count($files)==0))
return;
global $soundmap_Player;
$insert_content = $soundmap_Player->print_audio_content($files, $id);
echo $insert_content;
}

View File

@ -1,448 +0,0 @@
/*
* Skin for jPlayer Plugin (jQuery JavaScript Library)
* http://www.happyworm.com/jquery/jplayer
*
* Skin Name: Blue Monday
*
* Copyright (c) 2010 Happyworm Ltd
* Dual licensed under the MIT and GPL licenses.
* - http://www.opensource.org/licenses/mit-license.php
* - http://www.gnu.org/copyleft/gpl.html
*
* Author: Silvia Benvenuti
* Skin Version: 3.0 (jPlayer 2.0.0)
* Date: 20th December 2010
*/
div.jp-audio,
div.jp-video {
/* Edit the font-size to counteract inherited font sizing.
* Eg. 1.25em = 1 / 0.8em
*/
font-size:1.25em;
font-family:Verdana, Arial, sans-serif;
line-height:1.6;
color: #666;
}
div.jp-audio {
width:420px;
}
div.jp-video-270p {
width:480px;
}
div.jp-video-360p {
width:640px;
}
div.jp-interface {
position: relative;
background-color:#eee;
/* width:418px; */
width:100%;
border:1px solid #009be3;
}
div.jp-audio div.jp-type-single div.jp-interface {
height:80px;
border-bottom:none;
}
div.jp-audio div.jp-type-playlist div.jp-interface {
height:80px;
}
div.jp-video div.jp-type-single div.jp-interface {
height:60px;
border-bottom:none;
}
div.jp-video div.jp-type-playlist div.jp-interface {
height:60px;
}
div.jp-interface ul.jp-controls {
list-style-type:none;
padding:0;
margin: 0;
}
div.jp-interface ul.jp-controls li {
/* position: absolute; */
display:inline;
}
div.jp-interface ul.jp-controls a {
position: absolute;
overflow:hidden;
text-indent:-9999px;
}
a.jp-play,
a.jp-pause {
width:40px;
height:40px;
z-index:1;
}
div.jp-audio div.jp-type-single a.jp-play,
div.jp-audio div.jp-type-single a.jp-pause {
top:20px;
left:40px;
}
div.jp-audio div.jp-type-playlist a.jp-play,
div.jp-audio div.jp-type-playlist a.jp-pause {
top:20px;
left:48px;
}
div.jp-video a.jp-play,
div.jp-video a.jp-pause {
top:15px;
}
div.jp-video-270p div.jp-type-single a.jp-play,
div.jp-video-270p div.jp-type-single a.jp-pause {
left:195px;
}
div.jp-video-270p div.jp-type-playlist a.jp-play,
div.jp-video-270p div.jp-type-playlist a.jp-pause {
left:220px;
}
div.jp-video-360p div.jp-type-single a.jp-play,
div.jp-video-360p div.jp-type-single a.jp-pause {
left:275px;
}
div.jp-video-360p div.jp-type-playlist a.jp-play,
div.jp-video-360p div.jp-type-playlist a.jp-pause {
left:300px;
}
a.jp-play {
background: url("../img/jplayer.blue.monday.jpg") 0 0 no-repeat;
}
a.jp-play:hover {
background: url("../img/jplayer.blue.monday.jpg") -41px 0 no-repeat;
}
a.jp-pause {
background: url("../img/jplayer.blue.monday.jpg") 0 -42px no-repeat;
display: none;
}
a.jp-pause:hover {
background: url("../img/jplayer.blue.monday.jpg") -41px -42px no-repeat;
}
div.jp-audio div.jp-type-single a.jp-stop {
top:26px;
left:90px;
}
div.jp-audio div.jp-type-playlist a.jp-stop {
top:26px;
left:126px;
}
div.jp-video a.jp-stop {
top:21px;
}
div.jp-video-270p div.jp-type-single a.jp-stop {
left:245px;
}
div.jp-video-270p div.jp-type-playlist a.jp-stop {
left:298px;
}
div.jp-video-360p div.jp-type-single a.jp-stop {
left:325px;
}
div.jp-video-360p div.jp-type-playlist a.jp-stop {
left:378px;
}
a.jp-stop {
background: url("../img/jplayer.blue.monday.jpg") 0 -83px no-repeat;
width:28px;
height:28px;
z-index:1;
}
a.jp-stop:hover {
background: url("../img/jplayer.blue.monday.jpg") -29px -83px no-repeat;
}
div.jp-audio div.jp-type-playlist a.jp-previous {
left:20px;
top:26px;
}
div.jp-video div.jp-type-playlist a.jp-previous {
top:21px;
}
div.jp-video-270p div.jp-type-playlist a.jp-previous {
left:192px;
}
div.jp-video-360p div.jp-type-playlist a.jp-previous {
left:272px;
}
a.jp-previous {
background: url("../img/jplayer.blue.monday.jpg") 0 -112px no-repeat;
width:28px;
height:28px;
}
a.jp-previous:hover {
background: url("../img/jplayer.blue.monday.jpg") -29px -112px no-repeat;
}
div.jp-audio div.jp-type-playlist a.jp-next {
left:88px;
top:26px;
}
div.jp-video div.jp-type-playlist a.jp-next {
top:21px;
}
div.jp-video-270p div.jp-type-playlist a.jp-next {
left:260px;
}
div.jp-video-360p div.jp-type-playlist a.jp-next {
left:340px;
}
a.jp-next {
background: url("../img/jplayer.blue.monday.jpg") 0 -141px no-repeat;
width:28px;
height:28px;
}
a.jp-next:hover {
background: url("../img/jplayer.blue.monday.jpg") -29px -141px no-repeat;
}
div.jp-progress {
position: absolute;
overflow:hidden;
background-color: #ddd;
}
div.jp-audio div.jp-type-single div.jp-progress {
top:32px;
left:130px;
width:122px;
height:15px;
}
div.jp-audio div.jp-type-playlist div.jp-progress {
top:32px;
left:164px;
width:122px;
height:15px;
}
div.jp-video div.jp-progress {
top:0px;
left:0px;
width:100%;
height:10px;
}
div.jp-seek-bar {
background: url("../img/jplayer.blue.monday.jpg") 0 -202px repeat-x;
width:0px;
/* height:15px; */
height:100%;
cursor: pointer;
}
div.jp-play-bar {
background: url("../img/jplayer.blue.monday.jpg") 0 -218px repeat-x ;
width:0px;
/* height:15px; */
height:100%;
}
/* The seeking class is added/removed inside jPlayer */
div.jp-seeking-bg {
background: url("../img/pbar-ani.gif");
}
a.jp-mute,
a.jp-unmute {
width:18px;
height:15px;
}
div.jp-audio div.jp-type-single a.jp-mute,
div.jp-audio div.jp-type-single a.jp-unmute {
top:32px;
left:274px;
}
div.jp-audio div.jp-type-playlist a.jp-mute,
div.jp-audio div.jp-type-playlist a.jp-unmute {
top:32px;
left:296px;
}
div.jp-video a.jp-mute,
div.jp-video a.jp-unmute {
top:27px;
}
div.jp-video-270p div.jp-type-single a.jp-mute,
div.jp-video-270p div.jp-type-single a.jp-unmute {
left:304px;
}
div.jp-video-270p div.jp-type-playlist a.jp-unmute,
div.jp-video-270p div.jp-type-playlist a.jp-mute {
left:363px;
}
div.jp-video-360p div.jp-type-single a.jp-mute,
div.jp-video-360p div.jp-type-single a.jp-unmute {
left:384px;
}
div.jp-video-360p div.jp-type-playlist a.jp-mute,
div.jp-video-360p div.jp-type-playlist a.jp-unmute {
left:443px;
}
a.jp-mute {
background: url("../img/jplayer.blue.monday.jpg") 0 -186px no-repeat;
}
a.jp-mute:hover {
background: url("../img/jplayer.blue.monday.jpg") -19px -170px no-repeat;
}
a.jp-unmute {
background: url("../img/jplayer.blue.monday.jpg") 0 -170px no-repeat;
display: none;
}
a.jp-unmute:hover {
background: url("../img/jplayer.blue.monday.jpg") -19px -186px no-repeat;
}
div.jp-volume-bar {
position: absolute;
overflow:hidden;
background: url("../img/jplayer.blue.monday.jpg") 0 -250px repeat-x;
width:46px;
height:5px;
cursor: pointer;
}
div.jp-audio div.jp-type-single div.jp-volume-bar {
top:37px;
left:302px;
}
div.jp-audio div.jp-type-playlist div.jp-volume-bar {
top:37px;
left:324px;
}
div.jp-video div.jp-volume-bar {
top:32px;
}
div.jp-video-270p div.jp-type-single div.jp-volume-bar {
left:332px;
}
div.jp-video-270p div.jp-type-playlist div.jp-volume-bar {
left:391px;
}
div.jp-video-360p div.jp-type-single div.jp-volume-bar {
left:412px;
}
div.jp-video-360p div.jp-type-playlist div.jp-volume-bar {
left:471px;
}
div.jp-volume-bar-value {
background: url("../img/jplayer.blue.monday.jpg") 0 -256px repeat-x;
width:0px;
height:5px;
}
div.jp-current-time,
div.jp-duration {
position: absolute;
font-size:.64em;
font-style:oblique;
}
div.jp-duration {
text-align: right;
}
div.jp-audio div.jp-type-single div.jp-current-time,
div.jp-audio div.jp-type-single div.jp-duration {
top:49px;
left:130px;
width:122px;
}
div.jp-audio div.jp-type-playlist div.jp-current-time,
div.jp-audio div.jp-type-playlist div.jp-duration {
top:49px;
left:164px;
width:122px;
}
div.jp-video div.jp-current-time,
div.jp-video div.jp-duration {
top:10px;
left:0px;
width:98%;
padding:0 1%;
}
div.jp-playlist {
/* width:418px; */
width:100%;
background-color:#ccc;
border:1px solid #009be3;
border-top:none;
}
div.jp-playlist ul {
list-style-type:none;
margin:0;
padding:0 20px;
/* background-color:#ccc; */
/* border:1px solid #009be3; */
/* border-top:none; */
/* width:378px; */
font-size:.72em;
}
div.jp-type-single div.jp-playlist li {
padding:5px 0 5px 20px;
font-weight:bold;
}
div.jp-type-playlist div.jp-playlist li {
padding:5px 0 4px 20px;
border-bottom:1px solid #eee;
}
/*
div.jp-video div.jp-playlist li {
padding:5px 0 5px 20px;
font-weight:bold;
}
*/
div.jp-type-playlist div.jp-playlist li.jp-playlist-last {
padding:5px 0 5px 20px;
border-bottom:none;
}
div.jp-type-playlist div.jp-playlist li.jp-playlist-current {
list-style-type:square;
list-style-position:inside;
padding-left:8px;
}
div.jp-type-playlist div.jp-playlist a {
color: #666;
text-decoration: none;
}
div.jp-type-playlist div.jp-playlist a:hover {
color:#0d88c1;
}
div.jp-type-playlist div.jp-playlist a.jp-playlist-current {
color:#0d88c1;
}
div.jp-type-playlist div.jp-playlist div.jp-free-media {
display:inline;
margin-left:20px;
}
div.jp-video div.jp-video-play {
background: transparent url("../img/jplayer.blue.monday.video.play.png") no-repeat center;
/* position: relative; */
position: absolute;
cursor:pointer;
z-index:2;
}
div.jp-video div.jp-video-play:hover {
background: transparent url("../img/jplayer.blue.monday.video.play.hover.png") no-repeat center;
}
div.jp-video-270p div.jp-video-play {
top:-270px;
width:480px;
height:270px;
}
div.jp-video-360p div.jp-video-play {
top:-360px;
width:640px;
height:360px;
}
div.jp-jplayer {
width:0px;
height:0px;
}
div.jp-video div.jp-jplayer {
border:1px solid #009be3;
border-bottom:none;
z-index:1;
}
div.jp-video-270p div.jp-jplayer {
width:480px;
height:270px;
}
div.jp-video-360p div.jp-jplayer {
width:640px;
height:360px;
}
div.jp-jplayer {
background-color: #000000;
}

View File

@ -1,176 +0,0 @@
/*
Plupload
------------------------------------------------------------------- */
.plupload_button {
display: -moz-inline-box; /* FF < 3*/
display: inline-block;
font: normal 12px sans-serif;
text-decoration: none;
color: #42454a;
border: 1px solid #bababa;
padding: 2px 8px 3px 20px;
margin-right: 4px;
background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center;
outline: 0;
/* Optional rounded corners for browsers that support it */
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.plupload_button:hover {
color: #000;
text-decoration: none;
}
.plupload_disabled, a.plupload_disabled:hover {
color: #737373;
border-color: #c5c5c5;
background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center;
cursor: default;
}
.plupload_add {
background-position: -181px center;
}
.plupload_wrapper {
font: normal 11px Verdana,sans-serif;
width: 100%;
}
.plupload_container {
background: url('../img/transp50.png');
/*-moz-border-radius: 5px;*/
}
.plupload_container input {
border: 1px solid #DDD;
font: normal 11px Verdana,sans-serif;
width: 98%;
}
.plupload_header {background: #2A2C2E url('../img/backgrounds.gif') repeat-x;}
.plupload_header_content {
background: url('../img/backgrounds.gif') no-repeat 0 -317px;
min-height: 56px;
padding-left: 60px;
color: #FFF;
}
.plupload_header_title {
font: normal 18px sans-serif;
padding: 6px 0 3px;
}
.plupload_header_text {
font: normal 12px sans-serif;
}
.plupload_filelist {
margin: 0;
padding: 0;
list-style: none;
}
.plupload_scroll .plupload_filelist {
height: 185px;
background: #F5F5F5;
overflow-y: scroll;
}
.plupload_filelist li {
padding: 10px 8px;
background: #F5F5F5 url('../img/backgrounds.gif') repeat-x 0 -156px;
border-bottom: 1px solid #DDD;
}
.plupload_filelist_header, .plupload_filelist_footer {
background: #DFDFDF;
padding: 8px 8px;
color: #42454A;
}
.plupload_filelist_header {
border-top: 1px solid #EEE;
border-bottom: 1px solid #CDCDCD;
}
.plupload_filelist_footer {border-top: 1px solid #FFF; height: 40px; line-height: 25px; vertical-align: middle;}
.plupload_file_name {float: left; overflow: hidden}
.plupload_file_status {color: #777;}
.plupload_file_status span {color: #42454A;}
.plupload_file_size, .plupload_file_status, .plupload_progress {
float: right;
width: 80px;
}
.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;}
.plupload_filelist .plupload_file_name {width: 205px}
.plupload_file_action {
float: right;
width: 16px;
height: 16px;
margin-left: 15px;
}
.plupload_file_action * {
display: none;
width: 16px;
height: 16px;
}
li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;}
li.plupload_done {color:#AAA}
li.plupload_delete a {
background: url('../img/delete.gif');
}
li.plupload_failed a {
background: url('../img/error.gif');
cursor: default;
}
li.plupload_done a {
background: url('../img/done.gif');
cursor: default;
}
.plupload_progress, .plupload_upload_status {
display: none;
}
.plupload_progress_container {
margin-top: 3px;
border: 1px solid #CCC;
background: #FFF;
padding: 1px;
}
.plupload_progress_bar {
width: 0px;
height: 7px;
background: #CDEB8B;
}
.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
margin-right: 17px;
}
/* Floats */
.plupload_clear,.plupload_clearer {clear: both;}
.plupload_clearer, .plupload_progress_bar {
display: block;
font-size: 0;
line-height: 0;
}
li.plupload_droptext {
background: transparent;
text-align: center;
vertical-align: middle;
border: 0;
line-height: 165px;
}

View File

@ -5,3 +5,14 @@
#sound-att-table .soundmap-att-left{width:60%; padding-right:6px}
#sound-att-table tr {border-bottom:1px solid #666;}
#sound-att-table td {padding: 3px 0;}
.uploadFileQueued{
height:36px;
margin:10px 0;
}
.filename{
position:relative;
margin-top:10px;
font-weight: bold;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

7
soundmap/js/jquery.ui.map.full.min.js vendored Executable file
View File

@ -0,0 +1,7 @@
/*!
* jQuery UI Google Map 3.0-alpha
* http://code.google.com/p/jquery-ui-map/
* Copyright (c) 2010 - 2011 Johan Säll Larsson
* Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
*/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(3($){$.1p("1r.1I",{t:{D:(6.7)?l 6.7.Q(0.0,0.0):m,12:(6.7)?6.7.23.24:m,X:5},25:3(){2.t.D=2.E(2.t.D);k a=2.22;2.q=a.17(\'q\');2.w=[];k b=2.w[a.17(\'q\')]={9:l 6.7.21(a[0],2.t),A:[],u:[],s:[]};6.7.B.20(b.9,\'1Z\',3(){a.1i(\'1Y\',b.9)});8 $(b.9)},K:3(a,b){k c=2.4(\'9\');o.r(2.t,{\'D\':c.1U(),\'12\':c.1Q(),\'X\':c.1O()});j(a&&b){$.1d.I.K.1f(2,1g)};c.H(2.t)},1j:3(a){2.4(\'y\',l 6.7.1G()).r(2.E(a));2.4(\'9\').1F(2.4(\'y\'))},1z:3(a,b){2.4(\'9\').1y[b].J(2.z(a))},1w:3(a,b,c){k d=2.4(\'9\');k c=c||6.7.1t;a.N=(a.N)?2.E(a.N):m;k e=l c(o.r({\'9\':d,\'y\':1q},a));k f=2.4(\'A\',[]);j(e.q){f[e.q]=e}n{f.J(e)}j(e.y){2.1j(e.1o())}2.x(b,d,e);8 $(e)},1n:3(a,b){k c=l 6.7.1a(a);2.x(b,c);8 $(c)},F:3(a){2.P(2.4(a));2.M(a,[])},P:3(a){G(b O a){j(a[b]v 6.7.1h){6.7.B.1J(a[b]);a[b].R(m)}n j(a[b]v 1k){2.P(a[b])}a[b]=m}},1m:3(a,b,c,d){k e=2.4(\'A\');G(f O e){k g=(c&&e[f][a])?(e[f][a].L(c).19(b)>-1):(e[f][a]===b);2.x(d,e[f],g)}},4:3(a,b){k c=2.w[2.q];j(!c[a]){j(a.19(\'>\')>-1){k e=a.15(/ /g,\'\').L(\'>\');G(k i=0;i<e.13;i++){j(!c[e[i]]){j(b){c[e[i]]=((i+1)<e.13)?[]:b}n{8 m}}c=c[e[i]]}8 c}n j(b&&!c[a]){2.M(a,b)}}8 c[a]},1s:3(a,b){2.4(\'11\',l 6.7.1a).H(a);2.4(\'11\').1u(2.4(\'9\'),2.z(b))},M:3(a,b){2.w[2.q][a]=b},1v:3(){$(2.4(\'9\')).Z(\'1x\');2.K()},W:3(){$.1d.I.W.V(2);2.F(\'A\');2.F(\'u\');2.F(\'s\',1A);k a=2.w[2.q];G(b O a){a[b]=m}},x:3(a){j($.1B(a)){a.1f(2,1k.I.1C.V(1g,1))}},E:3(a){j(a v 6.7.Q){8 a}n{k b=a.15(\' \',\'\').L(\',\');8 l 6.7.Q(b[0],b[1])}},z:3(a){j(!a){8 m}n j(a v o){8 a[0]}n j(a v 1D){8 a}8 $(\'#\'+a)[0]},1E:3(a,b,c){k d=2;k e=2.4(\'u > U\',l 6.7.U());k f=2.4(\'u > T\',l 6.7.T());f.H(b);e.1H(a,3(g,h){j(h===\'1l\'){j(b.1K){f.1L(g)}f.R(d.4(\'9\'))}n{f.R(m)}d.x(c,g,h)})},1M:3(a,b){2.4(\'9\').1N(2.4(\'u > 1b\',l 6.7.1b(2.z(a),b)))},1P:3(a,b){2.4(\'u > 18\',l 6.7.18()).1R(a,b)},1S:3(a,b){8 $(2.4(\'s > \'+a,[]).J(l 6.7[a](o.r({\'9\':2.4(\'9\')},b))))},1T:3(a,b){((!b)?2.4(\'s > C\',l 6.7.C()):2.4(\'s > C\',l 6.7.C(b,a))).H(o.r({\'9\':2.4(\'9\')},a))},1V:3(a,b,c){2.4(\'s > \'+a,l 6.7.1W(b,o.r({\'9\':2.4(\'9\')},c)))}});o.1X.r({S:3(a){8 2.p(\'S\',a)},1c:3(a){8 2.p(\'1c\',a)},10:3(a){8 2.p(\'10\',a)},14:3(a){8 2.p(\'14\',a)},Y:3(a){8 2.p(\'Y\',a)},1e:3(a){8 2.p(\'1e\',a)},16:3(a){8 2.p(\'16\',a)},Z:3(a){6.7.B.1i(2[0],a)},p:3(a,b){j(6.7&&2[0]v 6.7.1h){6.7.B.26(2[0],a,b)}n{2.27(a,b)}8 2}})}(o));',62,132,'||this|function|get||google|maps|return|map||||||||||if|var|new|null|else|jQuery|addEventListener|id|extend|overlays|options|services|instanceof|instances|_call|bounds|_unwrap|markers|event|FusionTablesLayer|center|_latLng|clear|for|setOptions|prototype|push|_setOption|split|set|position|in|_c|LatLng|setMap|click|DirectionsRenderer|DirectionsService|call|destroy|zoom|mouseout|triggerEvent|dblclick|iw|mapTypeId|length|mouseover|replace|dragend|attr|Geocoder|indexOf|InfoWindow|StreetViewPanorama|rightclick|Widget|drag|apply|arguments|MVCObject|trigger|addBounds|Array|OK|findMarker|addInfoWindow|getPosition|widget|false|ui|openInfoWindow|Marker|open|refresh|addMarker|resize|controls|addControl|true|isFunction|slice|Object|displayDirections|fitBounds|LatLngBounds|route|gmap|clearInstanceListeners|panel|setDirections|displayStreetView|setStreetView|getZoom|search|getMapTypeId|geocode|addShape|loadFusion|getCenter|loadKML|KmlLayer|fn|init|bounds_changed|addListenerOnce|Map|element|MapTypeId|ROADMAP|_create|addListener|bind'.split('|'),0,{}))

View File

@ -1,34 +1,309 @@
/*!
* jQuery UI Google Map 2.0
* jQuery FN Google Map 3.0-alpha
* http://code.google.com/p/jquery-ui-map/
*
* Copyright (c) 2010 - 2011 Johan Säll Larsson
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Depends:
* jquery.ui.core.js
* jquery.ui.widget.js
* Copyright (c) 2010 - 2011 Johan Säll Larsson
* Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
*/
( function($) {
/**
* This is how you write unmaintainable code :) - the size is small though.
* @param namespace:string
* @param name:string
* @param base:object
*/
$.a = function( a, b, c ) {
var d = [];
$[a] = $[a] || {};
$[a][b] = function(options, element) {
if ( arguments.length ) {
this._s(options, element);
}
};
$[a][b].prototype = c;
$.fn[b] = function(options) {
var id = this.attr('id');
if ( d[id] && d[id][options] ) {
return d[id][options].apply(d[id], Array.prototype.slice.call(arguments, 1));
} else if ( typeof options === 'object' || ! options ) {
d[id] = new $[a][b](options, this);
return this;
}
};
};
$.a("ui", "gmap", {
/**
* Map options
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#MapOptions
*/
options: {
center: (google.maps) ? new google.maps.LatLng(0.0, 0.0) : null,
mapTypeId: (google.maps) ? google.maps.MapTypeId.ROADMAP : null,
zoom: 5
},
/**
* Get or set options
* @param key:string
* @param options:object
*/
option: function(a, b) {
c = this;
if (!b) {
return c.options[a];
} else {
c._u(a, b);
}
},
/**
* Setup plugin basics,
* Set the jQuery UI Widget this.element, so extensions will work on both plugins
*/
_s: function( a, b ) {
this.id = b.attr('id');
this.instances = [];
this.element = b;
this.options = jQuery.extend(this.options, a);
this._create();
if ( this._init ) {
this._init();
}
},
/**
* Create
* @return $(google.maps.Map)
*/
_create: function() {
this.options.center = this._latLng(this.options.center);
var a = this.element;
var b = this.instances[this.id] = { map: new google.maps.Map( a[0], this.options ), markers: [], services: [], overlays: [] };
google.maps.event.addListenerOnce(b.map, 'bounds_changed', function() {
a.trigger('init', this);
});
return $(b.map);
},
/**
* Set map options
* @param key:string (optional)
* @param value:object (optional)
*/
_u: function(a, b) {
var map = this.get('map');
jQuery.extend(this.options, { 'center': map.getCenter(), 'mapTypeId': map.getMapTypeId(), 'zoom': map.getZoom() } );
if (a && b) {
this.options[a] = b;
}
map.setOptions(this.options);
},
/**
* Adds a latitude longitude pair to the bounds.
* @param position:google.maps.LatLng/string
*/
addBounds: function(a) {
this.get('bounds', new google.maps.LatLngBounds()).extend(this._latLng(a));
this.get('map').fitBounds(this.get('bounds'));
},
/**
* Adds a custom control to the map
* @param panel:jquery/node/string
* @param position:google.maps.ControlPosition
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#ControlPosition
*/
addControl: function(a, b) {
this.get('map').controls[b].push(this._unwrap(a));
},
/**
* Adds a Marker to the map
* @param markerOptions:google.maps.MarkerOptions (optional)
* @param callback:function(map:google.maps.Map, marker:google.maps.Marker) (optional)
* @param marker:function (optional)
* @return $(google.maps.Marker)
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#MarkerOptions
*/
addMarker: function(a, b, c) {
var d = this.get('map');
var c = c || google.maps.Marker;
a.position = (a.position) ? this._latLng(a.position) : null;
var e = new c( jQuery.extend({'map': d, 'bounds': false}, a) );
var f = this.get('markers', []);
if ( e.id ) {
f[e.id] = e;
} else {
f.push(e);
}
if ( e.bounds ) {
this.addBounds(e.getPosition());
}
this._call(b, d, e);
return $(e);
},
/**
* Adds an InfoWindow to the map
* @param infoWindowOptions:google.maps.InfoWindowOptions (optional)
* @param callback:function(InfoWindow:google.maps.InfoWindowOptions) (optional)
* @return $(google.maps.InfoWindowOptions)
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#InfoWindowOptions
*/
addInfoWindow: function(a, b) {
var c = new google.maps.InfoWindow(a);
this._call(b, c);
return $(c);
},
/**
* Clears by type
* @param type:string i.e. markers, overlays, services
*/
clear: function(a) {
this._c(this.get(a));
this.set(a, []);
},
_c: function(a) {
for ( b in a ) {
if ( a[b] instanceof google.maps.MVCObject ) {
google.maps.event.clearInstanceListeners(a[b]);
a[b].setMap(null);
} else if ( a[b] instanceof Array ) {
this._c(a[b]);
}
a[b] = null;
}
},
/**
* Returns the marker(s) with a specific property and value, e.g. 'category', 'tags'
* @param property:string the property to search within
* @param value:string
* @param delimiter:string/boolean a delimiter if it's multi-valued otherwise false
* @param callback:function(marker:google.maps.Marker, isFound:boolean)
*/
findMarker: function(a, b, c, d) {
var e = this.get('markers');
for ( f in e ) {
var g = ( c && e[f][a] ) ? ( e[f][a].split(c).indexOf(b) > -1 ) : ( e[f][a] === b );
this._call(d, e[f], g);
};
},
/**
* Returns an instance property by key. Has the ability to set an object if the property does not exist
* @param key:string
* @param value:object(optional)
*/
get: function(a, b) {
var c = this.instances[this.id];
if (!c[a]) {
if ( a.indexOf('>') > -1 ) {
var e = a.replace(/ /g, '').split('>');
for ( var i = 0; i < e.length; i++ ) {
if ( !c[e[i]] ) {
if (b) {
c[e[i]] = ( (i + 1) < e.length ) ? [] : b;
} else {
return null;
}
}
c = c[e[i]];
}
return c;
} else if ( b && !c[a] ) {
this.set(a, b);
}
}
return c[a];
},
/**
* Triggers an InfoWindow to open
* @param infoWindowOptions:google.maps.InfoWindowOptions
* @param marker:google.maps.Marker (optional)
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#InfoWindowOptions
*/
openInfoWindow: function(a, b) {
this.get('iw', new google.maps.InfoWindow).setOptions(a);
this.get('iw').open(this.get('map'), this._unwrap(b));
},
/**
* Sets an instance property
* @param key:string
* @param value:object
*/
set: function(a, b) {
this.instances[this.id][a] = b;
},
/**
* Refreshes the map
*/
refresh: function() {
$(this.get('map')).triggerEvent('resize');
this._update();
},
/**
* Destroys the plugin.
*/
destroy: function() {
this.clear('markers');
this.clear('services');
this.clear('overlays');
var a = this.instances[this.id];
for ( b in a ) {
a[b] = null;
}
},
/**
* Helper method for calling a function
* @param callback
*/
_call: function(a) {
if ( $.isFunction(a) ) {
a.apply(this, Array.prototype.slice.call(arguments, 1));
}
},
/**
* Helper method for google.maps.Latlng
* @param callback
*/
_latLng: function(a) {
if ( a instanceof google.maps.LatLng ) {
return a;
} else {
var b = a.replace(' ','').split(',');
return new google.maps.LatLng(b[0], b[1]);
}
},
/**
* Helper method for unwrapping jQuery/DOM/string elements
* @param callback
*/
_unwrap: function(a) {
if ( !a ) {
return null;
} else if ( a instanceof jQuery ) {
return a[0];
} else if ( a instanceof Object ) {
return a;
}
return $('#'+a)[0];
}
});
jQuery.fn.extend( {
click: function(a) {
@ -60,12 +335,12 @@
},
triggerEvent: function(a) {
google.maps.event.trigger(this.get(0), a);
google.maps.event.trigger(this[0], a);
},
addEventListener: function(a, b) {
if ( google.maps && this.get(0) instanceof google.maps.MVCObject ) {
google.maps.event.addListener(this.get(0), a, b );
if ( google.maps && this[0] instanceof google.maps.MVCObject ) {
google.maps.event.addListener(this[0], a, b );
} else {
this.bind(a, b);
}
@ -74,277 +349,4 @@
});
$.widget( "ui.gmap", {
options: {
backgroundColor : null,
center: ( google.maps ) ? new google.maps.LatLng(0.0, 0.0) : null,
disableDefaultUI: false,
disableDoubleClickZoom: false,
draggable: true,
draggableCursor: null,
draggingCursor: null,
keyboardShortcuts: true,
mapTypeControl: true,
mapTypeControlOptions: null,
mapTypeId: ( google.maps ) ? google.maps.MapTypeId.ROADMAP : null,
navigationControl: true,
navigationControlOptions: null,
noClear: false,
scaleControl: false,
scaleControlOptions: null,
scrollwheel: false,
streetViewControl: true,
streetViewControlOptions: null,
zoom: 5,
callback: null
},
_create: function() {
$.ui.gmap.instances[this.element.attr('id')] = { map: new google.maps.Map( this.element[0], this.options ), markers: [], bounds: null, services: [] };
},
_init: function() {
$.ui.gmap._trigger(this.options.callback, this.getMap() );
return $(this.getMap());
},
_setOption: function(a, b) {
var map = this.getMap();
this.options.center = map.getCenter();
this.options.mapTypeId = map.getMapTypeId();
this.options.zoom = map.getZoom();
$.Widget.prototype._setOption.apply(this, arguments);
map.setOptions(this.options);
},
/**
* Adds a LatLng to the bounds.
*/
addBounds: function(a) {
var instances = $.ui.gmap.instances[this.element.attr('id')];
if ( !instances.bounds ) {
instances.bounds = new google.maps.LatLngBounds();
}
instances.bounds.extend(a);
instances.map.fitBounds(instances.bounds);
},
/**
* Adds a control to the map
* @param a:jQuery/Node/String
* @param b:google.maps.ControlPosition, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#ControlPosition
*/
addControl: function(a, b) {
this.getMap().controls[b].push($.ui.gmap._unwrap(a));
},
/**
* Adds a Marker to the map
* @param a:google.maps.MarkerOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#MarkerOptions
* @param b:function(map:google.maps.Map, marker:Marker)
* @return $(google.maps.Marker)
*/
addMarker: function(a, b) {
var marker = new google.maps.Marker( jQuery.extend( { 'map': this.getMap(), 'bounds':false }, a) );
this.getMarkers().push( marker );
if ( marker.bounds ) {
this.addBounds(marker.getPosition());
}
$.ui.gmap._trigger(b, this.getMap(), marker );
return $(marker);
},
/**
* Adds an InfoWindow to the map
* @param a:google.maps.InfoWindowOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#InfoWindowOptions
* @param b:function(InfoWindow:google.maps.InfoWindowOptions)
* @return $(google.maps.InfoWindowOptions)
*/
addInfoWindow: function(a, b) {
var iw = new google.maps.InfoWindow(a);
$.ui.gmap._trigger(b, iw);
return $(iw);
},
/**
* Computes directions between two or more places.
* @param a:google.maps.DirectionsRequest, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#DirectionsRequest
* @param b:google.maps.DirectionsRendererOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#DirectionsRendererOptions
* @param c:function(success:boolean, result:google.maps.DirectionsResult), http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#DirectionsResult
*/
displayDirections: function(a, b, c) {
var instance = $.ui.gmap.instances[this.element.attr('id')];
if ( !instance.services.DirectionsService ) {
instance.services.DirectionsService = new google.maps.DirectionsService();
}
if ( !instance.services.DirectionsRenderer ) {
instance.services.DirectionsRenderer = new google.maps.DirectionsRenderer();
}
instance.services.DirectionsRenderer.setOptions(jQuery.extend({'map': instance.map}, b));
instance.services.DirectionsService.route( a, function(result, status) {
if ( status === google.maps.DirectionsStatus.OK ) {
if ( b.panel ) {
instance.services.DirectionsRenderer.setDirections(result);
}
} else {
instance.services.DirectionsRenderer.setMap(null);
}
$.ui.gmap._trigger(c, ( status === google.maps.DirectionsStatus.OK ), result);
});
},
/**
* Displays the panorama for a given LatLng or panorama ID.
* @param a:jQuery/String/Node
* @param b?:google.maps.StreetViewPanoramaOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#StreetViewPanoramaOptions
*/
displayStreetView: function(a, b) {
var instance = $.ui.gmap.instances[this.element.attr('id')];
instance.services.StreetViewPanorama = new google.maps.StreetViewPanorama($.ui.gmap._unwrap(a), b);
instance.map.setStreetView(instance.services.StreetViewPanorama);
},
/**
* Returns the marker(s) with a specific property and value, e.g. 'category', 'airports'
* @param a:String - the property to search within
* @param b:String - the query
* @param c:function(found:boolean, marker:google.maps.Marker)
*/
findMarker : function(a, b, c) {
$.each( this.getMarkers(), function(i, marker) {
$.ui.gmap._trigger(c, ( marker[a] === b ), marker);
});
},
/**
* Extracts meta data from the HTML
* @param a:String - rdfa, microformats or microdata
* @param b:String - the namespace
* @param c:function(item:jQuery, result:Array<String>)
*/
loadMetadata: function(a, b, c) {
if ( a === 'rdfa' ) {
$.ui.gmap.rdfa(b, c);
} else if ( a === 'microformat') {
$.ui.gmap.microformat(b, c);
} else if ( a === 'microdata') {
$.ui.gmap.microdata(b, c);
}
},
/**
* Adds fusion data to the map.
* @param a:google.maps.FusionTablesLayerOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#FusionTablesLayerOptions
*/
loadFusion: function(a) {
var instance = $.ui.gmap.instances[this.element.attr('id')];
if ( !instance.services.FusionTablesLayer ) {
instance.services.FusionTablesLayer = new google.maps.FusionTablesLayer();
}
instance.services.FusionTablesLayer.setOptions(a);
instance.services.FusionTablesLayer.setMap(this.getMap());
},
/**
* Adds markers from KML file or GeoRSS feed
* @param a:String - an identifier for the RSS e.g. 'rss_dogs'
* @param b:String - URL to feed
* @param c:google.maps.KmlLayerOptions, http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#KmlLayerOptions
*/
loadKML: function(a, b, c) {
var instance = $.ui.gmap.instances[this.element.attr('id')];
if ( !instance.services[a] )
instance.services[a] = new google.maps.KmlLayer(b, jQuery.extend({'map': instance.map }, c));
},
/**
* A service for converting between an address and a LatLng.
* @param a:google.maps.GeocoderRequest
* @param b:function(success:boolean, result:google.maps.GeocoderResult), http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#GeocoderResult
*/
search: function(a, b) {
var instance = $.ui.gmap.instances[this.element.attr('id')];
if ( !instance.services.Geocoder ) {
instance.services.Geocoder = new google.maps.Geocoder();
}
instance.services.Geocoder.geocode( a, function(result, status) {
$.ui.gmap._trigger(b, ( status === google.maps.GeocoderStatus.OK ), result);
});
},
/**
* Returns the map.
* @return google.maps.Map
*/
getMap: function() {
return $.ui.gmap.instances[this.element.attr('id')].map;
},
/**
* Returns all markers.
* @return Array<google.maps.Marker>
*/
getMarkers: function() {
return $.ui.gmap.instances[this.element.attr('id')].markers;
},
/**
* Returns a service by its service name
* @param id:string
*/
getService: function(id) {
return $.ui.gmap.instances[this.element.attr('id')].services[id];
},
/**
* Clears all the markers and added event listeners.
*/
clearMarkers: function() {
$.each( this.getMarkers(), function(a,b) {
google.maps.event.clearInstanceListeners(b);
b.setMap(null);
b = null;
});
$.ui.gmap.instances[this.element.attr('id')].markers = [];
},
/**
* Destroys the plugin.
*/
destroy: function() {
this.clearMarkers();
google.maps.event.clearInstanceListeners(this.getMap());
$.each($.ui.gmap.instances[this.element.attr('id')].services, function (a, b) {
b = null;
});
$.Widget.prototype.destroy.call( this );
}
});
$.extend($.ui.gmap, {
version: "2.0",
instances: [],
_trigger: function(a) {
if ( $.isFunction(a) ) {
a.apply(this, Array.prototype.slice.call(arguments, 1));
}
},
_unwrap: function unwrap(a) {
if ( !a ) {
return null;
} else if ( a instanceof jQuery ) {
return a[0];
} else if ( a instanceof Object ) {
return a;
}
return document.getElementById(a);
}
});
} (jQuery) );

4
soundmap/js/jquery.ui.map.min.js vendored Normal file → Executable file
View File

@ -1,7 +1,7 @@
/*!
* jQuery UI Google Map 2.0
* jQuery UI Google Map 3.0-alpha
* http://code.google.com/p/jquery-ui-map/
* Copyright (c) 2010 - 2011 Johan Säll Larsson
* Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(4($){z.1B.y({16:4(a){g 3.s(\'16\',a)},1b:4(a){g 3.s(\'1b\',a)},19:4(a){g 3.s(\'19\',a)},17:4(a){g 3.s(\'17\',a)},1c:4(a){g 3.s(\'1c\',a)},1d:4(a){g 3.s(\'1d\',a)},1i:4(a){g 3.s(\'1i\',a)},1C:4(a){9.d.G.1D(3.K(0),a)},s:4(a,b){h(9.d&&3.K(0)Q 9.d.1A){9.d.G.1z(3.K(0),a,b)}w{3.1w(a,b)}g 3}});$.1x("8.7",{u:{1y:j,1f:(9.d)?o 9.d.1E(0.0,0.0):j,1F:x,1u:x,1M:C,1N:j,1K:j,1J:C,1G:C,1H:j,13:(9.d)?9.d.1I.1O:j,1n:C,1j:j,1k:x,1l:x,1t:j,1r:x,1m:C,1p:j,15:5,1g:j},1o:4(){$.8.7.f[3.m.n(\'k\')]={l:o 9.d.1s(3.m[0],3.u),O:[],v:j,e:[]}},1L:4(){$.8.7.t(3.u.1g,3.r());g $(3.r())},U:4(a,b){q l=3.r();3.u.1f=l.1W();3.u.13=l.2d();3.u.15=l.2c();$.18.T.U.1h(3,14);l.N(3.u)},10:4(a){q f=$.8.7.f[3.m.n(\'k\')];h(!f.v){f.v=o 9.d.28()}f.v.y(a);f.l.1P(f.v)},29:4(a,b){3.r().2a[b].11($.8.7.S(a))},2f:4(a,b){q p=o 9.d.2g(z.y({\'l\':3.r(),\'v\':x},a));3.F().11(p);h(p.v){3.10(p.2l())}$.8.7.t(b,3.r(),p);g $(p)},2k:4(a,b){q L=o 9.d.2j(a);$.8.7.t(b,L);g $(L)},2i:4(a,b,c){q 6=$.8.7.f[3.m.n(\'k\')];h(!6.e.I){6.e.I=o 9.d.I()}h(!6.e.A){6.e.A=o 9.d.A()}6.e.A.N(z.y({\'l\':6.l},b));6.e.I.27(a,4(D,B){h(B===9.d.12.M){h(b.26){6.e.A.1V(D)}}w{6.e.A.J(j)}$.8.7.t(c,(B===9.d.12.M),D)})},1U:4(a,b){q 6=$.8.7.f[3.m.n(\'k\')];6.e.P=o 9.d.P($.8.7.S(a),b);6.l.1T(6.e.P)},1Q:4(a,b,c){$.R(3.F(),4(i,p){$.8.7.t(c,(p[a]===b),p)})},1S:4(a,b,c){h(a===\'V\'){$.8.7.V(b,c)}w h(a===\'W\'){$.8.7.W(b,c)}w h(a===\'X\'){$.8.7.X(b,c)}},1X:4(a){q 6=$.8.7.f[3.m.n(\'k\')];h(!6.e.E){6.e.E=o 9.d.E()}6.e.E.N(a);6.e.E.J(3.r())},24:4(a,b,c){q 6=$.8.7.f[3.m.n(\'k\')];h(!6.e[a])6.e[a]=o 9.d.25(b,z.y({\'l\':6.l},c))},1Z:4(a,b){q 6=$.8.7.f[3.m.n(\'k\')];h(!6.e.H){6.e.H=o 9.d.H()}6.e.H.22(a,4(D,B){$.8.7.t(b,(B===9.d.1R.M),D)})},r:4(){g $.8.7.f[3.m.n(\'k\')].l},F:4(){g $.8.7.f[3.m.n(\'k\')].O},2e:4(k){g $.8.7.f[3.m.n(\'k\')].e[k]},Z:4(){$.R(3.F(),4(a,b){9.d.G.1e(b);b.J(j);b=j});$.8.7.f[3.m.n(\'k\')].O=[]},1a:4(){3.Z();9.d.G.1e(3.r());$.R($.8.7.f[3.m.n(\'k\')].e,4(a,b){b=j});$.18.T.1a.Y(3)}});$.y($.8.7,{23:"2.0",f:[],t:4(a){h($.21(a)){a.1h(3,20.T.1Y.Y(14,1))}},S:4 2h(a){h(!a){g j}w h(a Q z){g a[0]}w h(a Q 2b){g a}g 1q.1v(a)}})}(z));',62,146,'|||this|function||instance|gmap|ui|google||||maps|services|instances|return|if||null|id|map|element|attr|new|marker|var|getMap|addEventListener|_trigger|options|bounds|else|false|extend|jQuery|DirectionsRenderer|status|true|result|FusionTablesLayer|getMarkers|event|Geocoder|DirectionsService|setMap|get|iw|OK|setOptions|markers|StreetViewPanorama|instanceof|each|_unwrap|prototype|_setOption|rdfa|microformat|microdata|call|clearMarkers|addBounds|push|DirectionsStatus|mapTypeId|arguments|zoom|click|mouseover|Widget|dblclick|destroy|rightclick|mouseout|drag|clearInstanceListeners|center|callback|apply|dragend|navigationControlOptions|noClear|scaleControl|streetViewControl|navigationControl|_create|streetViewControlOptions|document|scrollwheel|Map|scaleControlOptions|disableDoubleClickZoom|getElementById|bind|widget|backgroundColor|addListener|MVCObject|fn|triggerEvent|trigger|LatLng|disableDefaultUI|mapTypeControl|mapTypeControlOptions|MapTypeId|keyboardShortcuts|draggingCursor|_init|draggable|draggableCursor|ROADMAP|fitBounds|findMarker|GeocoderStatus|loadMetadata|setStreetView|displayStreetView|setDirections|getCenter|loadFusion|slice|search|Array|isFunction|geocode|version|loadKML|KmlLayer|panel|route|LatLngBounds|addControl|controls|Object|getZoom|getMapTypeId|getService|addMarker|Marker|unwrap|displayDirections|InfoWindow|addInfoWindow|getPosition'.split('|'),0,{}))
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(3($){$.1m("1g.1o",{p:{v:(6.7)?o 6.7.K(0.0,0.0):l,P:(6.7)?6.7.1r.1u:l,W:5},1f:3(){2.p.v=2.B(2.p.v);9 a=2.1I;2.m=a.Q(\'m\');2.s=[];9 b=2.s[a.Q(\'m\')]={j:o 6.7.1p(a[0],2.p),t:[],S:[],V:[]};6.7.u.1L(b.j,\'1M\',3(){a.Y(\'1e\',b.j)});4 $(b.j)},G:3(a,b){9 c=2.h(\'j\');r.A(2.p,{\'v\':c.1x(),\'P\':c.1A(),\'W\':c.1G()});8(a&&b){$.10.J.G.L(2,N)};c.O(2.p)},1d:3(a){2.h(\'z\',o 6.7.1h()).A(2.B(a));2.h(\'j\').1k(2.h(\'z\'))},1O:3(a,b){2.h(\'j\').1n[b].R(2.E(a))},1q:3(a,b,c){9 d=2.h(\'j\');9 c=c||6.7.1s;a.I=(a.I)?2.B(a.I):l;9 e=o c(r.A({\'j\':d,\'z\':1z},a));9 f=2.h(\'t\',[]);8(e.m){f[e.m]=e}n{f.R(e)}8(e.z){2.1d(e.1H())}2.w(b,d,e);4 $(e)},1J:3(a,b){9 c=o 6.7.M(a);2.w(b,c);4 $(c)},x:3(a){2.C(2.h(a));2.D(a,[])},C:3(a){y(b F a){8(a[b]q 6.7.T){6.7.u.1i(a[b]);a[b].1j(l)}n 8(a[b]q U){2.C(a[b])}a[b]=l}},1l:3(a,b,c,d){9 e=2.h(\'t\');y(f F e){9 g=(c&&e[f][a])?(e[f][a].H(c).X(b)>-1):(e[f][a]===b);2.w(d,e[f],g)}},h:3(a,b){9 c=2.s[2.m];8(!c[a]){8(a.X(\'>\')>-1){9 e=a.Z(/ /g,\'\').H(\'>\');y(9 i=0;i<e.11;i++){8(!c[e[i]]){8(b){c[e[i]]=((i+1)<e.11)?[]:b}n{4 l}}c=c[e[i]]}4 c}n 8(b&&!c[a]){2.D(a,b)}}4 c[a]},1t:3(a,b){2.h(\'12\',o 6.7.M).O(a);2.h(\'12\').1v(2.h(\'j\'),2.E(b))},D:3(a,b){2.s[2.m][a]=b},1w:3(){$(2.h(\'j\')).13(\'1y\');2.G()},14:3(){$.10.J.14.15(2);2.x(\'t\');2.x(\'S\');2.x(\'V\',1B);9 a=2.s[2.m];y(b F a){a[b]=l}},w:3(a){8($.1C(a)){a.L(2,U.J.1D.15(N,1))}},B:3(a){8(a q 6.7.K){4 a}n{9 b=a.Z(\' \',\'\').H(\',\');4 o 6.7.K(b[0],b[1])}},E:3(a){8(!a){4 l}n 8(a q r){4 a[0]}n 8(a q 1E){4 a}4 $(\'#\'+a)[0]}});r.1F.A({16:3(a){4 2.k(\'16\',a)},18:3(a){4 2.k(\'18\',a)},19:3(a){4 2.k(\'19\',a)},1a:3(a){4 2.k(\'1a\',a)},1b:3(a){4 2.k(\'1b\',a)},1c:3(a){4 2.k(\'1c\',a)},17:3(a){4 2.k(\'17\',a)},13:3(a){6.7.u.Y(2[0],a)},k:3(a,b){8(6.7&&2[0]q 6.7.T){6.7.u.1N(2[0],a,b)}n{2.1K(a,b)}4 2}})}(r));',62,113,'||this|function|return||google|maps|if|var||||||||get||map|addEventListener|null|id|else|new|options|instanceof|jQuery|instances|markers|event|center|_call|clear|for|bounds|extend|_latLng|_c|set|_unwrap|in|_setOption|split|position|prototype|LatLng|apply|InfoWindow|arguments|setOptions|mapTypeId|attr|push|services|MVCObject|Array|overlays|zoom|indexOf|trigger|replace|Widget|length|iw|triggerEvent|destroy|call|click|dragend|rightclick|dblclick|mouseover|mouseout|drag|addBounds|init|_create|ui|LatLngBounds|clearInstanceListeners|setMap|fitBounds|findMarker|widget|controls|gmap|Map|addMarker|MapTypeId|Marker|openInfoWindow|ROADMAP|open|refresh|getCenter|resize|false|getMapTypeId|true|isFunction|slice|Object|fn|getZoom|getPosition|element|addInfoWindow|bind|addListenerOnce|bounds_changed|addListener|addControl'.split('|'),0,{}))

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,124 +0,0 @@
<?php
/**
* upload.php
*
* Copyright 2009, Moxiecode Systems AB
* Released under GPL License.
*
* License: http://www.plupload.com/license
* Contributing: http://www.plupload.com/contributing
*/
// HTTP headers for no cache etc
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Settings
$targetDir = ini_get("upload_tmp_dir");
//$targetDir = 'uploads/';
//$cleanupTargetDir = false; // Remove old files
//$maxFileAge = 60 * 60; // Temp file age in seconds
// 5 minutes execution time
@set_time_limit(5 * 60);
// Uncomment this one to fake upload time
// usleep(5000);
// Get parameters
$chunk = isset($_REQUEST["chunk"]) ? $_REQUEST["chunk"] : 0;
$chunks = isset($_REQUEST["chunks"]) ? $_REQUEST["chunks"] : 0;
$fileName = isset($_REQUEST["name"]) ? $_REQUEST["name"] : '';
// Clean the fileName for security reasons
$fileName = preg_replace('/[^\w\._]+/', '', $fileName);
// Make sure the fileName is unique but only if chunking is disabled
if ($chunks < 2 && file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName)) {
$ext = strrpos($fileName, '.');
$fileName_a = substr($fileName, 0, $ext);
$fileName_b = substr($fileName, $ext);
$count = 1;
while (file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName_a . '_' . $count . $fileName_b))
$count++;
$fileName = $fileName_a . '_' . $count . $fileName_b;
}
// Create target dir
if (!file_exists($targetDir))
@mkdir($targetDir);
// Remove old temp files
/* this doesn't really work by now
if (is_dir($targetDir) && ($dir = opendir($targetDir))) {
while (($file = readdir($dir)) !== false) {
$filePath = $targetDir . DIRECTORY_SEPARATOR . $file;
// Remove temp files if they are older than the max age
if (preg_match('/\\.tmp$/', $file) && (filemtime($filePath) < time() - $maxFileAge))
@unlink($filePath);
}
closedir($dir);
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 100, "message": "Failed to open temp directory."}, "id" : "id"}');
*/
// Look for the content type header
if (isset($_SERVER["HTTP_CONTENT_TYPE"]))
$contentType = $_SERVER["HTTP_CONTENT_TYPE"];
if (isset($_SERVER["CONTENT_TYPE"]))
$contentType = $_SERVER["CONTENT_TYPE"];
// Handle non multipart uploads older WebKit versions didn't support multipart in HTML5
if (strpos($contentType, "multipart") !== false) {
if (isset($_FILES['file']['tmp_name']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
// Open temp file
$out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab");
if ($out) {
// Read binary input stream and append it to temp file
$in = fopen($_FILES['file']['tmp_name'], "rb");
if ($in) {
while ($buff = fread($in, 4096))
fwrite($out, $buff);
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
fclose($in);
fclose($out);
@unlink($_FILES['file']['tmp_name']);
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 103, "message": "Failed to move uploaded file."}, "id" : "id"}');
} else {
// Open temp file
$out = fopen($targetDir . DIRECTORY_SEPARATOR . $fileName, $chunk == 0 ? "wb" : "ab");
if ($out) {
// Read binary input stream and append it to temp file
$in = fopen("php://input", "rb");
if ($in) {
while ($buff = fread($in, 4096))
fwrite($out, $buff);
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Failed to open input stream."}, "id" : "id"}');
fclose($in);
fclose($out);
} else
die('{"jsonrpc" : "2.0", "error" : {"code": 102, "message": "Failed to open output stream."}, "id" : "id"}');
}
// Return JSON-RPC response
die('{"jsonrpc" : "2.0", "result" : null, "id" : "id"}');
?>

View File

@ -1,203 +1,354 @@
var sendOnFinish = false;
jQuery(document).ready(function($) {
// $() will work as an alias for jQuery() inside of this function
// $() will work as an alias for jQuery() inside of this function
var map_canvas = $('#map_canvas');
var or_latln= new google.maps.LatLng(WP_Params.lat, WP_Params.lng);
var or_latln = new google.maps.LatLng(WP_Params.lat, WP_Params.lng);
var or_maptype;
switch (WP_Params.mapType){
case 'ROADMAP':
or_maptype = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
or_maptype = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
or_maptype = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
or_maptype = google.maps.MapTypeId.SATELLITE;
break;
}
switch (WP_Params.mapType) {
case 'ROADMAP':
or_maptype = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
or_maptype = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
or_maptype = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
or_maptype = google.maps.MapTypeId.SATELLITE;
break;
}
var soundmark;
if (map_canvas){
$('#map_canvas').gmap({'center': or_latln, 'zoom' : Number(WP_Params.zoom),'mapTypeId': or_maptype, 'callback': function(map){
if($('#soundmap-marker-lat').val()!=""){
var latlng = new google.maps.LatLng($('#soundmap-marker-lat').val(), $('#soundmap-marker-lng').val());
map.panTo(latlng);
soundmark = map_canvas.gmap('addMarker', {'position': latlng, 'title':'', 'draggable':true}, function(map, marker){
});
}
$(map).click( function (event){
if (soundmark == undefined){
soundmark = map_canvas.gmap('addMarker', {'position': event.latLng, 'title':'', 'draggable':true}, function(map, marker){
var marker_position=marker.getPosition();
$('#soundmap-marker-lat').val(marker_position.lat());
$('#soundmap-marker-lng').val(marker_position.lng());
});
}else{
var marker = soundmark.get(0);
var new_position = event.latLng;
marker.setPosition(new_position);
$('#soundmap-marker-lat').val(new_position.lat());
$('#soundmap-marker-lng').val(new_position.lng());
}
})
}});
if(map_canvas.length) {
$('#map_canvas').gmap({
'center' : or_latln,
'zoom' : Number(WP_Params.zoom),
'mapTypeId' : or_maptype
}).bind('init', function(event, map) {
if($('#soundmap-marker-lat').val() != "") {
var latlng = new google.maps.LatLng($('#soundmap-marker-lat').val(), $('#soundmap-marker-lng').val());
map.panTo(latlng);
soundmark = map_canvas.gmap('addMarker', {
'position' : latlng,
'title' : '',
'draggable' : true
}, function(map, marker) {
});
}
$(map).click(function(event) {
if(soundmark == undefined) {
soundmark = map_canvas.gmap('addMarker', {
'position' : event.latLng,
'title' : '',
'draggable' : true
}, function(map, marker) {
var marker_position = marker.getPosition();
$('#soundmap-marker-lat').val(marker_position.lat());
$('#soundmap-marker-lng').val(marker_position.lng());
});
} else {
var marker = soundmark.get(0);
var new_position = event.latLng;
marker.setPosition(new_position);
$('#soundmap-marker-lat').val(new_position.lat());
$('#soundmap-marker-lng').val(new_position.lng());
}
})
});
}
var map_canvas_options = $('#map_canvas_options');
if (map_canvas_options){
$('#map_canvas_options').gmap({'center': or_latln, 'zoom' : Number(WP_Params.zoom), 'mapTypeId': or_maptype, 'callback': function(map){
$(map).dragend(function(event){
var new_center = map.getCenter();
$('#soundmap_op_origin_lat').val(new_center.lat());
$('#soundmap_op_origin_lng').val(new_center.lng());
});
$(map).addEventListener('zoom_changed', function(event){
var new_zoom = map.getZoom();
$('#soundmap_op_origin_zoom').val(new_zoom);
});
$(map).addEventListener('maptypeid_changed',function(event){
var new_type = map.getMapTypeId();
switch (new_type)
{
case google.maps.MapTypeId.ROADMAP:
$('#soundmap_op_origin_type').children('option[value|="ROADMAP"]').attr('selected','selected');
break;
case google.maps.MapTypeId.HYBRID:
$('#soundmap_op_origin_type').children('option[value|="HYBRID"]').attr('selected','selected');
break;
case google.maps.MapTypeId.TERRAIN:
$('#soundmap_op_origin_type').children('option[value|="TERRAIN"]').attr('selected','selected');
break;
case google.maps.MapTypeId.SATELLITE:
$('#soundmap_op_origin_type').children('option[value|="SATELLITE"]').attr('selected','selected');
break;
}
});
}
});
$('#soundmap_op_origin_lat, #soundmap_op_origin_lng, #soundmap_op_origin_zoom', '#soundmap_op_origin_type').change(function(){
var latlng = new google.maps.LatLng($('#soundmap_op_origin_lat').val(), $('#soundmap_op_origin_lng').val());
var z = $('#soundmap_op_origin_zoom').val();
map = map_canvas_options.gmap('getMap');
map.panTo(latlng);
map.setCenter(latlng);
map.setZoom(Number(z));
});
$('#soundmap_op_origin_type').change(function(){
var t = $('#soundmap_op_origin_type').val();
map = map_canvas_options.gmap('getMap');
switch (t){
case 'ROADMAP':
mt = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
mt = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
mt = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
mt = google.maps.MapTypeId.SATELLITE;
break;
}
map.setMapTypeId(mt);
if(map_canvas_options.length) {
$('#map_canvas_options').gmap({
'center' : or_latln,
'zoom' : Number(WP_Params.zoom),
'mapTypeId' : or_maptype
}).bind('init', function(event, map) {
$(map).dragend(function(event) {
var new_center = map.getCenter();
$('#soundmap_op_origin_lat').val(new_center.lat());
$('#soundmap_op_origin_lng').val(new_center.lng());
});
$(map).addEventListener('zoom_changed', function(event) {
var new_zoom = map.getZoom();
$('#soundmap_op_origin_zoom').val(new_zoom);
});
$(map).addEventListener('maptypeid_changed', function(event) {
var new_type = map.getMapTypeId();
switch (new_type) {
case google.maps.MapTypeId.ROADMAP:
$('#soundmap_op_origin_type').children('option[value|="ROADMAP"]').attr('selected', 'selected');
break;
case google.maps.MapTypeId.HYBRID:
$('#soundmap_op_origin_type').children('option[value|="HYBRID"]').attr('selected', 'selected');
break;
case google.maps.MapTypeId.TERRAIN:
$('#soundmap_op_origin_type').children('option[value|="TERRAIN"]').attr('selected', 'selected');
break;
case google.maps.MapTypeId.SATELLITE:
$('#soundmap_op_origin_type').children('option[value|="SATELLITE"]').attr('selected', 'selected');
break;
}
});
});
$('#soundmap_op_origin_lat, #soundmap_op_origin_lng, #soundmap_op_origin_zoom', '#soundmap_op_origin_type').change(function() {
var latlng = new google.maps.LatLng($('#soundmap_op_origin_lat').val(), $('#soundmap_op_origin_lng').val());
var z = $('#soundmap_op_origin_zoom').val();
map = map_canvas_options.gmap('getMap');
map.panTo(latlng);
map.setCenter(latlng);
map.setZoom(Number(z));
});
$('#soundmap_op_origin_type').change(function() {
var t = $('#soundmap_op_origin_type').val();
map = map_canvas_options.gmap('getMap');
switch (t) {
case 'ROADMAP':
mt = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
mt = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
mt = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
mt = google.maps.MapTypeId.SATELLITE;
break;
}
map.setMapTypeId(mt);
});
});
}
$('#soundmap-marker-lat, #soundmap-marker-lng').change(function(){
var latlng = new google.maps.LatLng($('#soundmap-marker-lat').val(), $('#soundmap-marker-lng').val());
map = map_canvas.gmap('getMap');
map.panTo(latlng);
if(soundmark == undefined){
soundmark = map_canvas.gmap('addMarker', {'position': latlng, 'title':'', 'draggable':true}, function(map, marker){});
}else{
var marker = soundmark.get(0);
marker.setPosition(latlng);
}
});
$("#uploader").pluploadQueue({
// General settings
runtimes : 'gears,flash,silverlight,browserplus,html5',
url : WP_Params.plugin_url + 'js/plupload/upload.php',
max_file_size : '10mb',
chunk_size : '1mb',
unique_names : true,
multiple_queues : true,
// Specify what files to browse for
filters : [
{title : "Sound files", extensions : "mp3"},
],
// Flash settings
flash_swf_url : WP_Params.plugin_url + 'js/plupload/plupload.flash.swf',
// Silverlight settings
silverlight_xap_url : WP_Params.plugin_url + 'js/plupload/plupload.silverlight.xap',
//Events
init : {
FileUploaded: function(up, file, info) {
// Called when a file has finished uploading
//log('[FileUploaded] File:', file, "Info:", info);
var data = {
action: 'soundmap_file_uploaded',
file_name: file,
file_info: info
};
$.post(ajaxurl, data, function(response) {
result = $.parseJSON(response);
if (result.error != ""){
alert (result.error);
}else{
table = $('#sound-att-table');
table.append ('<tr><td class="soundmap-att-left">' + result.fileName + '</td><td>' + result.length + '</td></tr>');
box = $('#soundmap-attachments');
box.append ('<input type="hidden" name="soundmap_attachments_id[]" value="' + result.attachment + '">');
}
});
}
}
$('#soundmap-marker-lat, #soundmap-marker-lng').change(function() {
var latlng = new google.maps.LatLng($('#soundmap-marker-lat').val(), $('#soundmap-marker-lng').val());
map = map_canvas.gmap('getMap');
map.panTo(latlng);
if(soundmark == undefined) {
soundmark = map_canvas.gmap('addMarker', {
'position' : latlng,
'title' : '',
'draggable' : true
}, function(map, marker) {
});
} else {
var marker = soundmark.get(0);
marker.setPosition(latlng);
}
});
$('#post').submit(function(e) {
var uploader = $('#uploader').pluploadQueue();
// Validate number of uploaded files
if (uploader.total.uploaded == 0) {
// Files in queue upload them first
if (uploader.files.length >= 0) {
// When all files are uploaded submit form
uploader.bind('UploadProgress', function() {
if (uploader.total.uploaded == uploader.files.length)
$('#post').submit();
});
uploader.start();
} else {
// alert('You must at least upload one file.');
}
}
var sT = uploader.getStats();
// Validate number of uploaded files
if(sT.in_progress == 1) {
sendOnFinish = true;
alert('File not uploaded yet.');
e.preventDefault();
}
});
$('#soundmap-marker-datepicker').DatePicker({
format:'d/m/Y',
date: $('#soundmap-marker-date').val(),
current: $('#soundmap-marker-date').val(),
starts: 1,
flat: true,
onChange: function(formated, dates){
$('#soundmap-marker-date').val(formated);
}
format : 'd/m/Y',
date : $('#soundmap-marker-date').val(),
current : $('#soundmap-marker-date').val(),
starts : 1,
flat : true,
onChange : function(formated, dates) {
$('#soundmap-marker-date').val(formated);
}
});
});
var uploader_settings = {
upload_url : ajaxurl,
use_query_string : false,
http_success : [201, 202],
file_post_name : "Filedata",
prevent_swf_caching : false,
preserve_relative_urls : false,
flash_url : WP_Params.swfupload_flash,
button_placeholder_id : 'uploaderButton',
post_params : {
'action' : 'soundmap_file_uploaded'
},
// File Upload Settings
file_size_limit : "20 MB", // 2MB
file_types : "*.mp3",
file_types_description : "MP3 Files",
file_upload_limit : "0",
file_queue_limit : 1,
button_text : '<span class="button">' + WP_Params.selectfile + '<\/span>',
button_text_style : '.button { text-align: center; font-weight: bold; font-family:"Lucida Grande",Verdana,Arial,"Bitstream Vera Sans",sans-serif; font-size: 11px; text-shadow: 0 1px 0 #FFFFFF; color:#464646; }',
button_height : "23",
button_width : "132",
button_text_top_padding : 3,
button_image_url : WP_Params.swfupload_picture,
// Event Handler Settings - these functions as defined in Handlers.js
// The handlers are not part of SWFUpload but are part of my website and control how
// my website reacts to the SWFUpload events.
file_queue_error_handler : s_fileQueueError,
file_queued_handler : s_fileQueued,
file_dialog_complete_handler : s_fileDialogComplete,
upload_progress_handler : s_uploadProgress,
upload_error_handler : s_uploadError,
upload_success_handler : s_uploadSuccess,
upload_complete_handler : s_uploadComplete,
debug_handler : s_debug_function,
queue_complete_handler : s_queue_complete
//debug: true
};
if(jQuery("#uploaderButton").length){
uploader = new SWFUpload(uploader_settings);
}
});
////__________ HANDLERS_____________////
function s_queue_complete (numFilesUploaded){
if (sendOnFinish){
jQuery('#post').submit();
}
}
function s_debug_function (message) {
console.log(message);
}
function s_fileQueued(file) {
try {
jQuery('#uploaderQueue').append('<div id="upload-item-' + file.id + '" class=" uploadFileQueued "><div class="progress"><div class="bar"></div></div><div class="filename original"><span class="percent"></span> ' + file.name + '</div></div>');
// Display the progress div
jQuery('.progress', '#upload-item-' + file.id).show();
} catch(ex) {
this.debug(ex);
}
}
function s_fileQueueError(file, errorCode, message) {
try {
var imageName = "error.gif";
var errorName = "";
if(errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
errorName = "You have attempted to queue too many files.";
}
if(errorName !== "") {
alert(errorName);
return;
}
switch (errorCode) {
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
imageName = "zerobyte.gif";
break;
case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
imageName = "toobig.gif";
break;
case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
default:
alert(message);
break;
}
addImage("images/" + imageName);
} catch (ex) {
this.debug(ex);
}
}
function s_fileDialogComplete(numFilesSelected, numFilesQueued) {
try {
if(numFilesQueued > 0) {
this.startUpload();
}
} catch (ex) {
this.debug(ex);
}
}
function s_uploadProgress(file, bytesLoaded) {
// Lengthen the progress bar
var w = jQuery('#uploaderQueue').width() - 2, item = jQuery('#upload-item-' + file.id);
jQuery('.bar', item).width(w * bytesLoaded / file.size);
jQuery('.percent', item).html(Math.ceil(bytesLoaded / file.size * 100) + '%');
}
function s_uploadSuccess(file, serverData) {
try {
// var progress = new FileProgress(file, this.customSettings.upload_target);
result = jQuery.parseJSON(serverData);
if(result.error != "") {
alert(result.error);
} else {
table = jQuery('#sound-att-table');
table.append('<tr><td class="soundmap-att-left">' + result.fileName + '</td><td>' + result.length + '</td></tr>');
box = jQuery('#soundmap-attachments');
box.append('<input type="hidden" name="soundmap_attachments_id[]" value="' + result.attachment + '">');
}
} catch (ex) {
this.debug(ex);
}
}
function s_uploadComplete(file) {
try {
/* I want the next upload to continue automatically so I'll call startUpload here */
if(this.getStats().files_queued > 0) {
this.startUpload();
} else {
}
} catch (ex) {
this.debug(ex);
}
}
function s_uploadError(file, errorCode, message) {
var imageName = "error.gif";
//var progress;
try {
switch (errorCode) {
case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
try {
} catch (ex1) {
this.debug(ex1);
}
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
try {
} catch (ex2) {
this.debug(ex2);
}
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
imageName = "uploadlimit.gif";
break;
default:
alert(message);
break;
}
} catch (ex3) {
this.debug(ex3);
}
}

View File

@ -1,63 +1,102 @@
var g_map;
var or_latln;
var info_w;
jQuery(document).ready(function($) {
// $() will work as an alias for jQuery() inside of this function
// $() will work as an alias for jQuery() inside of this function
var map_canvas = $('.map_canvas');
var g_map;
var or_latln= new google.maps.LatLng(WP_Params.lat, WP_Params.lng);
or_latln = new google.maps.LatLng(WP_Params.lat, WP_Params.lng);
var or_maptype;
switch (WP_Params.mapType){
case 'ROADMAP':
or_maptype = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
or_maptype = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
or_maptype = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
or_maptype = google.maps.MapTypeId.SATELLITE;
break;
}
switch (WP_Params.mapType) {
case 'ROADMAP':
or_maptype = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
or_maptype = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
or_maptype = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
or_maptype = google.maps.MapTypeId.SATELLITE;
break;
}
map_canvas.after('<div id="hidden-markers-content" style ="display:hidden;"></div>')
info_w = false;
if (map_canvas){
markers_map = $('.map_canvas').gmap({'center': or_latln, 'zoom' : Number(WP_Params.zoom),'mapTypeId': or_maptype, 'callback': function(map){
g_map=map;
info_w = new google.maps.InfoWindow({content: ' '});
var data = {
action: 'soundmap_JSON_load_markers'
};
$.post(WP_Params.ajaxurl, data, function(response) {
result = $.parseJSON(response);
if (result){
$.each( result, function(i, m) {
$('.map_canvas').gmap('addMarker', { 'position': new google.maps.LatLng(m.lat, m.lng) }).data('postid', m.id).click(function(){
id=$(this).data('postid');
marker = $(this).get(0);
var data = {
action: 'soundmap_load_infowindow',
marker: id
};
$.post(WP_Params.ajaxurl, data, function(response){
info_w.close();
$("#hidden-markers-content").append(response);
info_w.setContent($("#hidden-markers-content").children().get(0));
info_w.open(g_map, marker);
});
})
});
}
});
if(map_canvas) {
markers_map = $('.map_canvas').gmap({
'center' : or_latln,
'zoom' : Number(WP_Params.zoom),
'mapTypeId' : or_maptype
}).bind('init', function(event, map) {
if( typeof onMapFinished == 'function') {
onMapFinished(map);
}
});
g_map = map;
info_w = new google.maps.InfoWindow({
content : ' '
});
var data = {
action : 'soundmap_JSON_load_markers',
markers : WP_Params.markers
};
$.post(WP_Params.ajaxurl, data, function(response) {
result = $.parseJSON(response);
if(result) {
/////////////_ICON
var image = new google.maps.MarkerImage(WP_Params.pluginURL + '/img/map_icons/marker.png',
// This marker is 20 pixels wide by 32 pixels tall.
new google.maps.Size(19, 30),
// The origin for this image is 0,0.
new google.maps.Point(0, 0),
// The anchor for this image is the base of the flagpole at 0,32.
new google.maps.Point(9, 30));
var shadow = new google.maps.MarkerImage(WP_Params.pluginURL + '/img/map_icons/marker_shadow.png',
// The shadow image is larger in the horizontal dimension
// while the position and offset are the same as for the main image.
new google.maps.Size(34, 30), new google.maps.Point(0, 0), new google.maps.Point(9, 30));
// Shapes define the clickable region of the icon.
// The type defines an HTML <area> element 'poly' which
// traces out a polygon as a series of X,Y points. The final
// coordinate closes the poly by connecting to the first
// coordinate.
var shape = {
coord : [9, 0, 19, 9, 12, 17, 9, 30, 6, 17, 0, 9, 9, 0],
type : 'poly'
};
//////////////_ICON
ajax_url = WP_Params.ajaxurl;
$.each(result, function(i, m) {
$('.map_canvas').gmap('addMarker', {
id : m.id.toString(),
'position' : new google.maps.LatLng(m.lat, m.lng),
'shadow' : shadow,
'icon' : image,
'shape' : shape
}).click(function() {
id = this.id;
marker = this;
var data = {
action : 'soundmap_load_infowindow',
marker : id
};
$.post(ajax_url, data, function(response) {
info_w.close();
$("#hidden-markers-content").append(response);
info_w.setContent($("#hidden-markers-content").children().get(0));
info_w.open(g_map, marker);
});
})
});
}
});
});
}
});
});

View File

@ -0,0 +1,98 @@
var g_map;
var or_latln;
var info_w;
jQuery(document).ready(function($) {
// $() will work as an alias for jQuery() inside of this function
var map_canvas = $('.map_canvas');
or_latln= new google.maps.LatLng(WP_Params.lat, WP_Params.lng);
var or_maptype;
switch (WP_Params.mapType){
case 'ROADMAP':
or_maptype = google.maps.MapTypeId.ROADMAP;
break;
case 'HYBRID':
or_maptype = google.maps.MapTypeId.HYBRID;
break;
case 'TERRAIN':
or_maptype = google.maps.MapTypeId.TERRAIN;
break;
case 'SATELLITE':
or_maptype = google.maps.MapTypeId.SATELLITE;
break;
}
map_canvas.after('<div id="hidden-markers-content" style ="display:hidden;"></div>')
info_w = false;
if (map_canvas){
markers_map = $('.map_canvas').gmap({'center': or_latln, 'zoom' : Number(WP_Params.zoom),'mapTypeId': or_maptype}).bind('init', function(event, map){
if (typeof onMapFinished == 'function'){
onMapFinished(map);
}
g_map=map;
info_w = new google.maps.InfoWindow({content: ' '});
var data = {
action: 'soundmap_JSON_load_markers',
markers: WP_Params.markers
};
$.post(WP_Params.ajaxurl, data, function(response) {
result = $.parseJSON(response);
if (result){
/////////////_ICON
var image = new google.maps.MarkerImage(WP_Params.pluginURL + '/img/map_icons/marker.png',
// This marker is 20 pixels wide by 32 pixels tall.
new google.maps.Size(19, 30),
// The origin for this image is 0,0.
new google.maps.Point(0,0),
// The anchor for this image is the base of the flagpole at 0,32.
new google.maps.Point(9, 30));
var shadow = new google.maps.MarkerImage(WP_Params.pluginURL + '/img/map_icons/marker_shadow.png',
// The shadow image is larger in the horizontal dimension
// while the position and offset are the same as for the main image.
new google.maps.Size(34, 30),
new google.maps.Point(0,0),
new google.maps.Point(9, 30));
// Shapes define the clickable region of the icon.
// The type defines an HTML <area> element 'poly' which
// traces out a polygon as a series of X,Y points. The final
// coordinate closes the poly by connecting to the first
// coordinate.
var shape = {
coord: [9, 0, 19, 9, 12, 17, 9 , 30, 6, 17, 0, 9, 9, 0],
type: 'poly'
};
//////////////_ICON
ajax_url = WP_Params.ajaxurl;
$.each( result, function(i, m) {
$('.map_canvas').gmap('addMarker', { id: m.id.toString(), 'position': new google.maps.LatLng(m.lat, m.lng), 'shadow': shadow, 'icon': image, 'shape': shape }).click(function(){
id=this.id; //$(this).data('postid');
marker = this;//$(this).get(0);
var data = {
action: 'soundmap_load_infowindow',
marker: id,
lang: WP_Params.language
};
$.post(ajax_url, data, function(response){
info_w.close();
$("#hidden-markers-content").append(response);
info_w.setContent($("#hidden-markers-content").children().get(0));
info_w.open(g_map, marker);
//jQuery('.map_canvas').gmap('openInfoWindow', { 'content': response }, marker);
});
})
});
}
});
}
);
}
});

BIN
soundmap/js/uploader.swf Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,381 @@
msgid ""
msgstr ""
"Project-Id-Version: SoundMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-01-27 15:56+0100\n"
"PO-Revision-Date: 2012-01-27 16:05+0100\n"
"Last-Translator: \n"
"Language-Team: AudioLab\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;gettext;gettext_noop;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-Country: SPAIN\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../soundmap.php:38
msgid "Marks"
msgstr "Marcadores"
#: ../soundmap.php:39
msgid "Mark"
msgstr "Marcador"
#: ../soundmap.php:41
msgid "Add New Marker"
msgstr "Añadir nuevo marcador"
#: ../soundmap.php:42
msgid "Edit Marker"
msgstr "Editar marcador"
#: ../soundmap.php:43
msgid "New Marker"
msgstr "Nuevo marcador"
#: ../soundmap.php:44
msgid "All Markers"
msgstr "Todos los marcadores"
#: ../soundmap.php:45
msgid "View Marker"
msgstr "Ver marcadores"
#: ../soundmap.php:46
msgid "Search Markers"
msgstr "Buscar marcadores"
#: ../soundmap.php:47
msgid "No markers found"
msgstr "No se han encontrado marcadores"
#: ../soundmap.php:48
msgid "No markers found in Trash"
msgstr "No se han encontrado marcadores en la papelera"
#: ../soundmap.php:171
msgid "Place the Marker"
msgstr "Ubica el marcador"
#: ../soundmap.php:172
msgid "Add a sound file"
msgstr "Añade una grabación"
#: ../soundmap.php:173
msgid "Add info for the marker"
msgstr "Añade información sobre el marcador"
#: ../soundmap.php:174
msgid "Sound files attached."
msgstr "Grabaciones añadidas."
#: ../soundmap.php:175
msgid "Uploader Mail"
msgstr "Uploader Mail"
#: ../soundmap.php:192
msgid "Author"
msgstr "Autor"
#: ../soundmap.php:206
msgid "Filename"
msgstr "Archivo"
#: ../soundmap.php:206
msgid "Length"
msgstr "Duración"
#: ../soundmap.php:236
msgid "Latitud"
msgstr "Latitud"
#: ../soundmap.php:238
msgid "Longitud"
msgstr "Longitud"
#: ../soundmap.php:294
#, fuzzy
msgid "Select file"
msgstr "Seleccionar grabación"
#: ../soundmap.php:471
msgid "Error moving the file."
msgstr "Error moviendo el archivo."
#: ../soundmap.php:641
#: ../soundmap.php:674
msgid "Sound Map Configuration"
msgstr "Configuración del Mapa Sonoro"
#: ../soundmap.php:641
msgid "Sound Map"
msgstr "Mapa Sonoro"
#: ../soundmap.php:659
msgid "You do not have sufficient permissions to access this page."
msgstr "No tiene suficientes permisos para acceder a esta página"
#: ../soundmap.php:677
msgid "Map Configuration"
msgstr "Configuración del mapa"
#: ../soundmap.php:680
msgid "Origin configuration"
msgstr "Posición inicial"
#: ../soundmap.php:683
msgid "Choose the original configuration with the map."
msgstr "Elige la configuración original con el mapa."
#: ../soundmap.php:685
msgid "Latitude"
msgstr "Latitud"
#: ../soundmap.php:688
msgid "Longitude"
msgstr "Longitud"
#: ../soundmap.php:691
msgid "Zoom"
msgstr "Zoom"
#: ../soundmap.php:697
msgid "Map type"
msgstr "Tipo de mapa"
#: ../soundmap.php:701
msgid "Terrain"
msgstr "Relieve"
#: ../soundmap.php:702
msgid "Satellite"
msgstr "Satelite"
#: ../soundmap.php:703
#: ../modules/module.soundmap.upload.php:125
msgid "Map"
msgstr "Mapa"
#: ../soundmap.php:704
msgid "Hybrid"
msgstr "Híbrido"
#: ../soundmap.php:710
msgid "Show map page"
msgstr "Mostrar página del mapa"
#: ../soundmap.php:715
msgid "Select one direction for showing the map (ex: map). If you want to use is as your home, write [home].<br>You can also show the map on any page using the shortcode [soundmap]"
msgstr ""
#: ../soundmap.php:720
msgid "Sound Player Modules"
msgstr "Módulos de reproductores de audio"
#: ../soundmap.php:749
msgid "Version"
msgstr "Versión"
#: ../soundmap.php:749
msgid "By"
msgstr "Por"
#: ../soundmap.php:749
msgid "Visit plugin site"
msgstr "Visitar página del plugin"
#: ../soundmap.php:759
msgid "Plugin"
msgstr "Plugin"
#: ../soundmap.php:760
msgid "Description"
msgstr "Descripción"
#: ../api/soundmap_tags.php:100
msgid "Add new recording"
msgstr "Añadir nueva grabación"
#: ../modules/module.soundmap.upload.php:38
msgid "Select audio file"
msgstr "Seleccionar grabación"
#: ../modules/module.soundmap.upload.php:39
msgid "Please, place the recording"
msgstr "Ubica la grabación"
#: ../modules/module.soundmap.upload.php:40
msgid "Please, select one file to upload."
msgstr "Por favor, seleccione una archivo para subir."
#: ../modules/module.soundmap.upload.php:41
msgid "The selected file is too big."
msgstr "El archivo seleccionado es demasiado grande."
#: ../modules/module.soundmap.upload.php:42
msgid "Locked: form can't be submited."
msgstr "Cerrado: la grabación no se puede enviar."
#: ../modules/module.soundmap.upload.php:43
msgid "Unlocked: form can be submited."
msgstr "Abierto: Puede enviar su grabación"
#: ../modules/module.soundmap.upload.php:44
msgid "Name: "
msgstr "Nombre: "
#: ../modules/module.soundmap.upload.php:45
msgid "Length: "
msgstr "Duración:"
#: ../modules/module.soundmap.upload.php:124
msgid "Sound file"
msgstr "Grabación"
#: ../modules/module.soundmap.upload.php:126
msgid "Information"
msgstr "Información"
#: ../modules/module.soundmap.upload.php:127
msgid "Submit"
msgstr "Enviar"
#: ../modules/module.soundmap.upload.php:145
msgid "Sound file data: "
msgstr "Datos de la grabación:"
#: ../modules/module.soundmap.upload.php:151
msgid "Saving the recording"
msgstr "Guardando la grabación"
#: ../modules/public_upload/save-post.php:110
msgid "Author: "
msgstr "Autor:"
#: ../modules/public_upload/save-post.php:112
msgid "Date: "
msgstr "Fecha:"
#: ../modules/public_upload/save-post.php:113
msgid "Description: "
msgstr "Descripción:"
#: ../modules/public_upload/slide_first.php:7
msgid "<h2>Contribute to Soinumapa.net</h2><p>Hello, just follow a few simple steps and within minutes Soinumapa.net will show your recording.</p>"
msgstr "<h2>Colabora con Soinumapa.net</h2><p>Hola, sigue los pasos de este sencillo asistente y en unos minutos Soinumapa.net mostrará tu grabación.</p>"
#: ../modules/public_upload/slide_first.php:8
msgid "</p>Unless stated otherwise, your file, like all the sounds that make Soinumapa.net, will be published under a semi-free license (for more information see About Us section)."
msgstr "</p>A menos que se indique lo contrario, tu archivo, igual que el resto de sonidos que conforman Soinumapa.net, será publicado bajo una licencia semi-libre (para más información consulta la sección Acerca de)."
#: ../modules/public_upload/slide_first.php:9
msgid "Please fill in as much information as possible to identify your recording, and locate it within the map as accurate as possible.</p>"
msgstr "Por favor, rellena la mayor cantidad de campos posibles para identificar tu grabación, y localízala en el mapa con la mayor precisión posible.</p>"
#: ../modules/public_upload/slide_first.php:10
msgid "<p>In any case, the editing team from Soinumapa.net reserves the right to correct or add certain information and / or choose to display or not some recordings, always following the objectives and working methods of the project.</p>"
msgstr "<p>En todo caso, el equipo de edición de Soinumapa.net se reserva el derecho de corregir o añadir información y / o decidir si mostrar o no algunas grabaciones, siempre siguiendo los objetivos y métodos de trabajo del proyecto.</p>"
#: ../modules/public_upload/slide_first.php:11
msgid "<p>Thanks for participating in Soinumapa.net!</p>"
msgstr "<p>¡Gracias por participar en Soinumapa.net!</p>"
#: ../modules/public_upload/slide_first.php:16
msgid "Step 1: Select audio file to upload"
msgstr "Paso 1: Selecciona el archivo de audio"
#: ../modules/public_upload/slide_first.php:24
msgid "<p>The sound file must be saved in mp3 format.</p><p>The maximum file size for uploading is 7 Mb, if you want to upload a bigger file, please contact to audiolab.arteleku@gmail.com</p>"
msgstr "<p>El archivo de sonido debe estar guardado en formato mp3.</p><p>El tamaño máximo de subida de un archivo es de 7 Mb, si necesitas subir un archivo mayor, por favor, ponte en contacto con audiolab.arteleku@gmail.com</p>"
#: ../modules/public_upload/slide_fourth.php:10
msgid "<h2>Last check</h2>"
msgstr "<h2>Últimas comprobaciones</h2>"
#: ../modules/public_upload/slide_fourth.php:11
msgid "<p>Now, check that position you selected is correct.</p>"
msgstr "<p>Ahora, comprueba que la posición que marcaste es correcta.</p>"
#: ../modules/public_upload/slide_fourth.php:12
msgid "</p>In order to help us on any issue concerning the recording, give us your contact mail. We will not publicate it and you will no receive any spam from us.</p>"
msgstr "</p>Con el fin de ayudarnos en caso de tener cualquier problema relacionado con la grabación, te pedimos que nos des un mail de contacto. Esta dirección no será publicada y no recibirás ningún email no deseado por nuestra parte.</p>"
#: ../modules/public_upload/slide_fourth.php:13
msgid "<p>Once you have filled the mail, slide the locker bar and submit the information.</p><h5>Thank you for your collaboration</h5>"
msgstr "<p>Después de rellenar el mail, desliza la barra del candado para poder enviar los datos.</p><h5>Gracias por tú colaboración.</h5>"
#: ../modules/public_upload/slide_fourth.php:18
msgid "Step 4: Check the position and upload recording"
msgstr "Paso 4: Comprueba la ubicación y sube la grabación"
#: ../modules/public_upload/slide_fourth.php:24
msgid "Email: "
msgstr "Email:"
#: ../modules/public_upload/slide_fourth.php:28
msgid "Add recording"
msgstr "Añadir grabación"
#: ../modules/public_upload/slide_second.php:10
msgid "<h2>Place the recording</h2>"
msgstr "<h2>Posiciona la grabación</h2>"
#: ../modules/public_upload/slide_second.php:11
msgid "<p>Try to find the position for the recording on the map. Once you have find it, click on the location for positioning the marker.</p>"
msgstr "<p>Busca la posición donde realizaste la grabación en el mapa. Una vez localizada, haz click sobre la ubicación para posicionar el marcador.</p>"
#: ../modules/public_upload/slide_second.php:16
msgid "Step 2: Place the recording on the map"
msgstr "Paso 2: Posiciona la grabación en el mapa"
#: ../modules/public_upload/slide_third.php:6
msgid "<h2>Information about the recording</h2>"
msgstr "<h2>Información acerca de la grabación</h2>"
#: ../modules/public_upload/slide_third.php:7
msgid "<p>Help us filling this form about the information of your recording.</p>"
msgstr "<p>Ayúdanos rellenando estos campos con información de tu grabación.</p>"
#: ../modules/public_upload/slide_third.php:8
msgid "<p>Please, fill as much fields as you can, on the different languages of the sound map. Don't worry if you don't know how to do it in any language, we will check the texts and translate them.</p>"
msgstr "<p>Por favor, rellena todos los campos posibles en los distintos idiomas que forman el mapa sonoro. Si no conoces alguno de los idiomas, el equipo de edición del proyecto revisará el texto y lo traducirá.</p>"
#: ../modules/public_upload/slide_third.php:9
msgid "<p>Fill also the fields of the date you did the recording, the name of the author and also try to categorize the recording. You can select more than one category.</p>"
msgstr "<p>Indícanos también la fecha en la que realizaste la grabación, el nombre del autor de la misma y las categorías bajo las que te gustaría catalogar la grabación. Puedes seleccionar más de una categoría.</p>"
#: ../modules/public_upload/slide_third.php:14
msgid "Step 3: Information about the recording"
msgstr "Paso 3: Información acerca de la grabación"
#: ../modules/public_upload/slide_third.php:60
msgid "Title"
msgstr "Título"
#: ../modules/public_upload/slide_third.php:82
msgid "Date (dd/mm/yyyy)"
msgstr "Fecha (dd/mm/yyyy)"
#: ../modules/public_upload/slide_third.php:84
msgid "Category"
msgstr "Categoría"
#: ../theme/theme_map.php:25
msgid "SoundMap"
msgstr "Mapa Sonoro"
#: ../theme/theme_window.php:12
msgid "Date"
msgstr "Fecha"
#: ../theme/theme_window.php:19
msgid "Tags"
msgstr "Etiquetas"
#: ../theme/theme_window.php:20
msgid "Categories"
msgstr "Categorías"

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,381 @@
msgid ""
msgstr ""
"Project-Id-Version: SoundMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-01-27 16:06+0100\n"
"PO-Revision-Date: 2012-01-27 16:12+0100\n"
"Last-Translator: \n"
"Language-Team: AudioLab\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;gettext;gettext_noop;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-Country: SPAIN\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../soundmap.php:38
msgid "Marks"
msgstr "Markatzaileak"
#: ../soundmap.php:39
msgid "Mark"
msgstr "Markatzailea"
#: ../soundmap.php:41
msgid "Add New Marker"
msgstr "Markatzaile berria gehitu"
#: ../soundmap.php:42
msgid "Edit Marker"
msgstr "Editatu markatzailea"
#: ../soundmap.php:43
msgid "New Marker"
msgstr "Markatzaile berria"
#: ../soundmap.php:44
msgid "All Markers"
msgstr "Markatzaile guztiak"
#: ../soundmap.php:45
msgid "View Marker"
msgstr "Ikus markatzaileak"
#: ../soundmap.php:46
msgid "Search Markers"
msgstr "Bilatu markatzaileak"
#: ../soundmap.php:47
msgid "No markers found"
msgstr "Ez da markatzailerik topatu"
#: ../soundmap.php:48
msgid "No markers found in Trash"
msgstr "Ez da markatzailerik topatu zakar ontzian"
#: ../soundmap.php:171
msgid "Place the Marker"
msgstr "Kokatu markatzailea"
#: ../soundmap.php:172
msgid "Add a sound file"
msgstr "Gehitu grabaketa bat"
#: ../soundmap.php:173
msgid "Add info for the marker"
msgstr "Gehitu markatzaileari buruzko informazioa"
#: ../soundmap.php:174
msgid "Sound files attached."
msgstr "Gehitutako grabaketak."
#: ../soundmap.php:175
msgid "Uploader Mail"
msgstr "Igotzailearen maila"
#: ../soundmap.php:192
msgid "Author"
msgstr "Egilea"
#: ../soundmap.php:206
msgid "Filename"
msgstr "Artxiboaren izena"
#: ../soundmap.php:206
msgid "Length"
msgstr "Iraupena"
#: ../soundmap.php:236
msgid "Latitud"
msgstr "Latitudea"
#: ../soundmap.php:238
msgid "Longitud"
msgstr "Longitudea"
#: ../soundmap.php:294
#, fuzzy
msgid "Select file"
msgstr "Aukeratu grabaketa"
#: ../soundmap.php:471
msgid "Error moving the file."
msgstr "Akatsa artxiboa mugitzerakoan."
#: ../soundmap.php:641
#: ../soundmap.php:674
msgid "Sound Map Configuration"
msgstr "Soinu Maparen konfigurazioa"
#: ../soundmap.php:641
msgid "Sound Map"
msgstr "Soinuen Mapa"
#: ../soundmap.php:659
msgid "You do not have sufficient permissions to access this page."
msgstr "Ez duzu orrialde hau irakurtzeko baimenik"
#: ../soundmap.php:677
msgid "Map Configuration"
msgstr "Maparen konfigurazioa"
#: ../soundmap.php:680
msgid "Origin configuration"
msgstr "Jatorrizko konfigurazioa"
#: ../soundmap.php:683
msgid "Choose the original configuration with the map."
msgstr "Aukeratu jatorrizko konfirgurazioa maparekin"
#: ../soundmap.php:685
msgid "Latitude"
msgstr "Latitudea"
#: ../soundmap.php:688
msgid "Longitude"
msgstr "Longitudea"
#: ../soundmap.php:691
msgid "Zoom"
msgstr "Zoom"
#: ../soundmap.php:697
msgid "Map type"
msgstr "Mapa mota"
#: ../soundmap.php:701
msgid "Terrain"
msgstr "Erliebea"
#: ../soundmap.php:702
msgid "Satellite"
msgstr "Satelitea"
#: ../soundmap.php:703
#: ../modules/module.soundmap.upload.php:125
msgid "Map"
msgstr "Mapa"
#: ../soundmap.php:704
msgid "Hybrid"
msgstr "Hibridoa"
#: ../soundmap.php:710
msgid "Show map page"
msgstr "Erakutsi maparen orria"
#: ../soundmap.php:715
msgid "Select one direction for showing the map (ex: map). If you want to use is as your home, write [home].<br>You can also show the map on any page using the shortcode [soundmap]"
msgstr "Aukeratu mapan erakusteko helbide bat (ex: map). Hasierako orri bezala erabili nahi baduzu, idatzi [home]. <br>Aldiberean, mapa beste edozein orritan erakutsi dezakezu [soundmap] shortcode-a erabiliz."
#: ../soundmap.php:720
msgid "Sound Player Modules"
msgstr "Audio erreproduktoreen moduloak"
#: ../soundmap.php:749
msgid "Version"
msgstr "Bertsioa"
#: ../soundmap.php:749
msgid "By"
msgstr "-"
#: ../soundmap.php:749
msgid "Visit plugin site"
msgstr "Pluginaren orrialdea ikusi"
#: ../soundmap.php:759
msgid "Plugin"
msgstr "Plugin"
#: ../soundmap.php:760
msgid "Description"
msgstr "Deskribapena"
#: ../api/soundmap_tags.php:100
msgid "Add new recording"
msgstr "Gehitu grabaketa berria"
#: ../modules/module.soundmap.upload.php:38
msgid "Select audio file"
msgstr "Aukeratu grabaketa"
#: ../modules/module.soundmap.upload.php:39
msgid "Please, place the recording"
msgstr "Kokatu grabaketa"
#: ../modules/module.soundmap.upload.php:40
msgid "Please, select one file to upload."
msgstr "Mesedez, aukera ezazu zintzilikatu nahi duzun artxiboa"
#: ../modules/module.soundmap.upload.php:41
msgid "The selected file is too big."
msgstr "Aukeratutako artxiboa haundiegia da"
#: ../modules/module.soundmap.upload.php:42
msgid "Locked: form can't be submited."
msgstr "Itxita: Grabaketa ezin da igo."
#: ../modules/module.soundmap.upload.php:43
msgid "Unlocked: form can be submited."
msgstr "Irekita: Zure grabaketa bidali dezakezu"
#: ../modules/module.soundmap.upload.php:44
msgid "Name: "
msgstr "Izena:"
#: ../modules/module.soundmap.upload.php:45
msgid "Length: "
msgstr "Iraupena:"
#: ../modules/module.soundmap.upload.php:124
msgid "Sound file"
msgstr "Grabaketa:"
#: ../modules/module.soundmap.upload.php:126
msgid "Information"
msgstr "Informazioa:"
#: ../modules/module.soundmap.upload.php:127
msgid "Submit"
msgstr "Bidali"
#: ../modules/module.soundmap.upload.php:145
msgid "Sound file data: "
msgstr "Grabaketaren datuak:"
#: ../modules/module.soundmap.upload.php:151
msgid "Saving the recording"
msgstr "Grabaketa gordetzen"
#: ../modules/public_upload/save-post.php:110
msgid "Author: "
msgstr "Egilea:"
#: ../modules/public_upload/save-post.php:112
msgid "Date: "
msgstr "Data:"
#: ../modules/public_upload/save-post.php:113
msgid "Description: "
msgstr "Deskribapena:"
#: ../modules/public_upload/slide_first.php:7
msgid "<h2>Contribute to Soinumapa.net</h2><p>Hello, just follow a few simple steps and within minutes Soinumapa.net will show your recording.</p>"
msgstr "<h2>Parte hartu Soinumapan</h2><p>Kaixo, jarrai itzazu laguntzaile honek aurkeztuko dizkizun pausu errazak eta minutu gutxi barru zure grabaketa Soinumapa.net webgunean argitaratuko da.</p>"
#: ../modules/public_upload/slide_first.php:8
msgid "</p>Unless stated otherwise, your file, like all the sounds that make Soinumapa.net, will be published under a semi-free license (for more information see About Us section)."
msgstr "</p>Bestelako aipamenik ageri ez den bitartean, zure grabaketa, Soinumapa.net osatzen duten grabaketa guztiak bezala, lizentzia erdi-aske batenpean argitaratuko da (informazio gehiagorako ikusi PARTE HARTU atala menu nagusian)."
#: ../modules/public_upload/slide_first.php:9
msgid "Please fill in as much information as possible to identify your recording, and locate it within the map as accurate as possible.</p>"
msgstr "Saia zaitez zure grabaketa hobekien identifikatuko duten informazio leihoak betetzen, eta mapan ahalik eta zehatzen kokatzen.</p>"
#: ../modules/public_upload/slide_first.php:10
msgid "<p>In any case, the editing team from Soinumapa.net reserves the right to correct or add certain information and / or choose to display or not some recordings, always following the objectives and working methods of the project.</p>"
msgstr "<p>SOINUMAPAko editore taldeak grabaketen informazioak osatu eta zuzentzeko eskubidea gordetzen du, baita desegokitzat onar ditzaken zenbait grabaketa ez erakusteko ere, beti ere egitasmo honen helburu eta lan metodoek ezarritako hirizpideak jarraituz.</p>"
#: ../modules/public_upload/slide_first.php:11
msgid "<p>Thanks for participating in Soinumapa.net!</p>"
msgstr "<p>Eskerrik asko SOINUMAPA.NETen parte hartzeagatik!</p>"
#: ../modules/public_upload/slide_first.php:16
msgid "Step 1: Select audio file to upload"
msgstr "Lehen urratsa: Aukeratu zintzilikatu nahi duzun audio artxiboa"
#: ../modules/public_upload/slide_first.php:24
msgid "<p>The sound file must be saved in mp3 format.</p><p>The maximum file size for uploading is 7 Mb, if you want to upload a bigger file, please contact to audiolab.arteleku@gmail.com</p>"
msgstr "<p>Zure soinu artxiboak mp3 euskarrian egon behar du.</p><p>Artxibo bakoitzaren tamaina haundiena 7 Mb da, artxibo luzeagoa igo nahi bazenuke, jarri zaitez gurekin harremanetan audiolab.arteleku@gmail.com helbidean.</p>"
#: ../modules/public_upload/slide_fourth.php:10
msgid "<h2>Last check</h2>"
msgstr "<h2>Azken egiaztapena</h2>"
#: ../modules/public_upload/slide_fourth.php:11
msgid "<p>Now, check that position you selected is correct.</p>"
msgstr "<p>Orain, egiazta ezazu aukeratu duzun kokapena zuzena dela.</p>"
#: ../modules/public_upload/slide_fourth.php:12
msgid "</p>In order to help us on any issue concerning the recording, give us your contact mail. We will not publicate it and you will no receive any spam from us.</p>"
msgstr "</p>Zure grabaketari buruz gerta daiteken edozein arazoren inguruan gurekin kontaktuan jarri ahal izateko, idatzi zure email helbidea. Zure helbidea ez da inon eta inoiz publikoki argitaratuko eta ez duzu inolako spam mezurik jasoko gure aldetik.</p>"
#: ../modules/public_upload/slide_fourth.php:13
msgid "<p>Once you have filled the mail, slide the locker bar and submit the information.</p><h5>Thank you for your collaboration</h5>"
msgstr "<p>Behin email helbidea idatzi eta gero, mugi ezazu giltzarrapoaren barra informazio guztia webgunera bidali ahal izateko.</p><h5>Eskerrik asko zure lankidetzarengatik.</h5>"
#: ../modules/public_upload/slide_fourth.php:18
msgid "Step 4: Check the position and upload recording"
msgstr "Laugarren urratsa: Kokatu zure grabaketa eta igo grabaketa"
#: ../modules/public_upload/slide_fourth.php:24
msgid "Email: "
msgstr "E-posta:"
#: ../modules/public_upload/slide_fourth.php:28
msgid "Add recording"
msgstr "Gehitu grabaketa:"
#: ../modules/public_upload/slide_second.php:10
msgid "<h2>Place the recording</h2>"
msgstr "<h2>Kokatu zure grabaketa</h2>"
#: ../modules/public_upload/slide_second.php:11
msgid "<p>Try to find the position for the recording on the map. Once you have find it, click on the location for positioning the marker.</p>"
msgstr "<p>Bila ezazu grabaketaren kokalekua mapan. Topatzerakoan, egin klik dagokion lekuan markagailua kokatzeko.</p>"
#: ../modules/public_upload/slide_second.php:16
msgid "Step 2: Place the recording on the map"
msgstr "Bigarren urratsa: Kokatu grabaketa mapan"
#: ../modules/public_upload/slide_third.php:6
msgid "<h2>Information about the recording</h2>"
msgstr "<h2>Grabaketari buruzko informazioa</h2>"
#: ../modules/public_upload/slide_third.php:7
msgid "<p>Help us filling this form about the information of your recording.</p>"
msgstr "<p>Lagundu gaitzazu honako laukiak zure grabaketari buruzko informazioarekin betez.</p>"
#: ../modules/public_upload/slide_third.php:8
msgid "<p>Please, fill as much fields as you can, on the different languages of the sound map. Don't worry if you don't know how to do it in any language, we will check the texts and translate them.</p>"
msgstr "<p>Saia zaitez ahal eta atal gehienak osatzen, maparen hizkuntza ezberdinetan. Hizkuntzaren bat nola bete ez badakizu, ez larritu, testu guztiak gainbegiratuko eta itzuliko ditugu.</p>"
#: ../modules/public_upload/slide_third.php:9
msgid "<p>Fill also the fields of the date you did the recording, the name of the author and also try to categorize the recording. You can select more than one category.</p>"
msgstr "<p> Bete itzazu grabaketaren dataren eta egilearen datuak eta sailkatu grabaketa atal baten barruan. Kategoria edo atal bat baino gehiago aukera dezakezu</p>"
#: ../modules/public_upload/slide_third.php:14
msgid "Step 3: Information about the recording"
msgstr "Hirugarren urratsa: Grabaketari buruzko informazioa"
#: ../modules/public_upload/slide_third.php:60
msgid "Title"
msgstr "Izenburua"
#: ../modules/public_upload/slide_third.php:82
msgid "Date (dd/mm/yyyy)"
msgstr "Data (ee/hh/uu)"
#: ../modules/public_upload/slide_third.php:84
msgid "Category"
msgstr "Atala"
#: ../theme/theme_map.php:25
msgid "SoundMap"
msgstr "Soinuen Mapa"
#: ../theme/theme_window.php:12
msgid "Date"
msgstr "Data"
#: ../theme/theme_window.php:19
msgid "Tags"
msgstr "Etiketak"
#: ../theme/theme_window.php:20
msgid "Categories"
msgstr "Atalak"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,157 @@
<?php
/** Sets up the WordPress Environment. */
require( '../../../../wp-load.php' );
//nocache_headers();
session_start();
/** End Set up de thordpress Environment. **/
//load_plugin_textdomain('soundmap');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>
<?php
wp_register_script('soundmap_upload', WP_PLUGIN_URL . '/soundmap/modules/public_upload/js/upload.js', array(), NULL, true);
wp_register_script('soundmap_upload_map', WP_PLUGIN_URL . '/soundmap/modules/public_upload/js/soundmap-upload-map.js', array('jquery-google-maps') , NULL, true);
global $soundmap;
$params = array();
$params['plugin_url'] = WP_PLUGIN_URL . '/soundmap/';
$params += $soundmap['origin'];
$params ['mapType'] = $soundmap['mapType'];
$params_up = array();
$params_up['url_plugin'] = WP_PLUGIN_URL . '/soundmap';
$params_up['php_sesion'] = session_id();
$params_up['max_upload_size'] = ini_get('upload_max_filesize');
$params_up['upload_button_tag'] = __("Select audio file","soundmap");
$params_up['error_not_place_tag'] = __("Please, place the recording",'soundmap');
$params_up['error_not_sound_tag'] = __("Please, select one file to upload.",'soundmap');
$params_up['error_max_upload_size_tag']=__("The selected file is too big.","soundmap");
$params_up['locked_tag'] = __("Locked: form can't be submited.",'soundmap');
$params_up['unlocked_tag'] = __('Unlocked: form can be submited.','soundmap');
$params_up['sfile_name_tag'] = __('Name: ',"soundmap");
$params_up['sfile_length_tag'] = __('Length: ','soundmap');
$params_up['ajaxurl'] = admin_url( 'admin-ajax.php' );
wp_enqueue_script('soundmap_upload');
wp_localize_script('soundmap_upload','WP_Params_up',$params_up);
wp_enqueue_script('soundmap_upload_map');
wp_localize_script('soundmap_upload_map','WP_Params',$params);
?>
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/text.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/960.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/newpost.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/jquery-ui-1.8.13.custom.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/QapTcha.jquery.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/jquery.autocomplete.css" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_head(); ?>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/swfupload/swfupload.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/fileprogress.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/handlers.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/jquery.validate.min.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/additional-methods.min.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/jquery-ui-1.8.13.custom.min.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/QapTcha.jquery.js"></script>
<!-- Anything Slider -->
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/anythingslider.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/print.css" type="text/css" media="print" />
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/jquery.anythingslider.min.js"></script>
<script type="text/javascript" src="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/js/jquery.anythingslider.fx.min.js"></script>
<!-- Add the stylesheet(s) you are going to use here. All stylesheets are included below, remove the ones you don't use. -->
<link rel="stylesheet" href="<?php echo WP_PLUGIN_URL ?>/soundmap/modules/public_upload/css/theme-minimalist-round.css" type="text/css" media="screen" />
<!-- Older IE stylesheet, to reposition navigation arrows, added AFTER the theme stylesheet above -->
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/anythingslider-ie.css" type="text/css" media="screen" />
<![endif]-->
<?php
$language = "";
if (isset($_GET['lang'])){
$language = $_GET['lang'];
}
?>
<?php
function insertFirstPanel($language){
include_once("public_upload/slide_first.php");
}
function insertSecondPanel($language){
include_once("public_upload/slide_second.php");
}
function insertThirdPanel($language){
include_once("public_upload/slide_third.php");
}
function insertFourthPanel($language){
include_once("public_upload/slide_fourth.php");
}
?>
</head>
<body>
<div id="page">
<div class="steps-bar">
<ul id="crumbs">
<li class="selected"><span><?php _e("Sound file","soundmap") ?></span></li>
<li><span><?php _e("Map","soundmap")?></span></li>
<li><span><?php _e("Information","soundmap")?></span></li>
<li><?php _e("Submit","soundmap")?></li>
</ul>
</div>
<div id="slider">
<?php
insertFirstPanel($language);
insertSecondPanel($language);
insertThirdPanel($language);
insertFourthPanel($language);
?>
</div>
<div id="file-progress-bar">
<div id="progress-bar">
</div>
<div id="recordingInfo">
<h5><?php _e("Sound file data: ","soundmap")?></h5>
</div>
</div>
</div>
<div id="savingContent">
<div id="savingInfo">
<h3><?php _e("Saving the recording","soundmap")?></h3>
<img src="<?php echo WP_PLUGIN_URL?>/soundmap/modules/public_upload/images/loading.gif"></img>
</div>
</div>
<?php wp_footer();?>
</body>
</html>

View File

@ -14,7 +14,12 @@ Author URI: http://www.xavierbalderas.com
License: GPLv2 or later
*/
require_once (WP_PLUGIN_DIR . "/soundmap/api/getid3.php");
require_once (WP_PLUGIN_DIR . "/soundmap/api/soundmap_tags.php");
require_once (WP_PLUGIN_DIR . "/soundmap/api/soundmap.soinudroid.php");
require_once (WP_PLUGIN_DIR . "/soundmap/api/soundmap.uploader.php");
require_once (WP_PLUGIN_DIR . "/soundmap/modules/module.base.player.php");
require_once (WP_PLUGIN_DIR . "/soundmap/modules/module.audioplayer.php");
require_once (WP_PLUGIN_DIR . "/soundmap/modules/module.haikuplayer.php");
@ -22,6 +27,33 @@ require_once (WP_PLUGIN_DIR . "/soundmap/modules/module.wp-audio-gallery-player.
require_once (WP_PLUGIN_DIR . "/soundmap/modules/module.jplayer.php");
add_action('init', 'soundmap_init');
add_action('init', 'soundmap_add_feed');
add_action('admin_enqueue_scripts', 'soundmap_admin_enqueue_scripts');
add_action('wp_enqueue_scripts', 'soundmap_wp_enqueue_scripts');
add_action('wp_print_footer_scripts', 'soundmap_wp_print_footer_scripts',1);
add_action('admin_init', 'soundmap_register_admin_scripts');
add_action('save_post', 'soundmap_save_post');
add_action('admin_menu', "soundmap_admin_menu");
add_action('wp_ajax_soundmap_file_uploaded', 'soundmap_ajax_file_uploaded_callback');
add_action('wp_ajax_nopriv_soundmap_file_uploaded', 'soundmap_ajax_file_uploaded_callback');
add_action('wp_ajax_soundmap_JSON_load_markers','soundmap_JSON_load_markers');
add_action('wp_ajax_nopriv_soundmap_JSON_load_markers','soundmap_JSON_load_markers');
add_action('wp_ajax_nopriv_soundmap_load_infowindow','soundmap_load_infowindow');
add_action('wp_ajax_nopriv_soundmap_save_public_upload', 'soundmap_save_public_upload');
add_action('wp_ajax_nopriv_soundmap_verify_captcha', 'soundmap_verify_captcha');
add_filter( 'pre_get_posts', 'soundmap_pre_get_posts' );
register_activation_hook(__FILE__, 'soundmap_rewrite_flush');
function soundmap_init() {
global $soundmap;
@ -46,6 +78,7 @@ function soundmap_init() {
'parent_item_colon' => '',
'menu_name' => 'Markers'
);
$args = array(
'labels' => $labels,
'public' => true,
@ -53,20 +86,22 @@ function soundmap_init() {
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'rewrite' => array( 'slug' => 'marker', 'with_front' => false ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'register_meta_box_cb' => 'soundmap_metaboxes_register_callback',
'supports' => array('title','editor','thumbnail')
);
);
register_post_type('marker',$args);
register_taxonomy_for_object_type('category', 'marker');
register_taxonomy_for_object_type('post_tag', 'marker');
flush_rewrite_rules();
_soundmap_load_options();
soundmap_check_map_page();
soundmap_create_player_instance();
if(!is_admin()){
@ -74,6 +109,31 @@ function soundmap_init() {
}
}
function soundmap_get_markers(){
$query = new WP_Query(array(
'post_type' => 'marker',
'post_status' => 'publish',
)
);
if ( !$query->have_posts() )
die();
foreach($query->posts as &$post){
$post_id = $post->ID;
$custom = get_post_custom($post_id);
$post->marker['lat'] = $custom['soundmap_marker_lat'];
$post->marker['lng'] = $custom['soundmap_marker_lng'];
$post->marker['author'] = $custom['soundmap_marker_author'];
$post->marker['date'] = $custom['soundmap_marker_date'];
$post->marker['attachments'] = $custom['soundmap_attachments_id'];
}
return $query->posts;
}
function soundmap_create_player_instance(){
@ -110,40 +170,131 @@ function soundmap_create_player_instance(){
}
function soundmap_check_map_page(){
global $soundmap;
$uri = get_uri();
$page = $soundmap['map_Page'];
if ($page == "[home]"){
// for consistency, check to see if trailing slash exists in URI request
if (is_home())
$soundmap['on_page'] = TRUE;
function soundmap_rewrite_flush() {
soundmap_init();
flush_rewrite_rules();
}
function soundmap_JSON_load_markers () {
if (!isset($_POST['markers']))
return;
if ($_POST['markers']=='all'){
$query = new WP_Query(array('post_type' => 'marker', 'post_status' => 'publish'));
}else{
if (substr($page, -1)!="/") {
$page = $page."/";
}
if (end($uri) == $page){
$soundmap['on_page'] = TRUE;
}
if (!is_array($_POST["markers"])){
$markers_list = json_decode($_POST['markers']);
}else{$markers_list = $_POST['markers'];}
$query = new WP_Query(array('post_type' => 'marker', 'post_status' => 'publish', 'post__in' => $markers_list));
}
}
function soundmap_register_scripts(){
//Register google maps.
wp_register_script('google-maps','http://maps.google.com/maps/api/js?libraries=geometry&sensor=true');
wp_register_script('jquery-ui','https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js');
wp_register_script('jquery-google-maps', WP_PLUGIN_URL . '/soundmap/js/jquery.ui.map.js', array('jquery', 'jquery-ui', 'google-maps'));
$markers = array();
if ( !$query->have_posts() )
die();
$posts = $query->posts;
foreach($posts as $post){
$post_id = $post->ID;
$m_lat = get_post_meta($post_id,'soundmap_marker_lat', TRUE);
$m_lng = get_post_meta($post_id,'soundmap_marker_lng', TRUE);
$title = get_the_title ($post_id);
$mark = array(
'lat' => $m_lat,
'lng' => $m_lng,
'id' => $post_id,
'title' => $title
);
$markers[] = $mark;
}
echo json_encode($markers);
die();
}
function soundmap_get_template_include($templ){
if (!$templ)
return FALSE;
$theme_file = TEMPLATEPATH . DIRECTORY_SEPARATOR . $templ . '.php';
$plugin_file = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . 'soundmap' . DIRECTORY_SEPARATOR . 'theme' . DIRECTORY_SEPARATOR . 'theme_' . $templ . '.php';
if (file_exists($theme_file))
return $theme_file;
if(file_exists($plugin_file))
return $plugin_file;
return FALSE;
}
function soundmap_pre_get_posts( $query ) {
if ( (is_category() || is_tag()) && false == $query->query_vars['suppress_filters'] )
$query->set( 'post_type', array( 'marker') );
return $query;
}
function soundmap_load_infowindow(){
$marker_id = $_REQUEST['marker'];
$marker = get_post( $marker_id);
global $post;
$post = $marker;
setup_postdata($marker);
if(!$marker)
die();
$info['m_author'] = get_post_meta($marker_id, 'soundmap_marker_author', TRUE);
$info['m_date'] = get_post_meta($marker_id, 'soundmap_marker_date', TRUE);
$files = get_post_meta($marker_id, 'soundmap_attachments_id', FALSE);
$info['m_files'] = array();
foreach ($files as $key => $value){
$file = array();
$att = get_post($value);
$file['id'] = $value;
$file['fileURI'] = wp_get_attachment_url($value);
$file['filePath'] = get_attached_file($value);
$file['info'] = soundmap_get_id3info($file['filePath']);
$file['name'] = $att->post_name;
$info['m_files'][] = $file;
}
if ($theme=soundmap_get_template_include('window'))
include ($theme);
die();
}
/*
*
*
* METABOXES FUNCTIONS
*
*
*/
function soundmap_metaboxes_register_callback(){
add_meta_box('soundmap-map', __("Place the Marker", 'soundmap'), 'soundmap_map_meta_box', 'marker', 'normal', 'high');
add_meta_box('soundmap-sound-file', __("Add a sound file", 'soundmap'), 'soundmap_upload_file_meta_box', 'marker', 'normal', 'high');
add_meta_box('soundmap-sound-info', __("Add info for the marker", 'soundmap'), 'soundmap_info_meta_box', 'marker', 'side', 'high');
add_meta_box('soundmap-sound-attachments', __("Sound files attached.", 'soundmap'), 'soundmap_attachments_meta_box', 'marker', 'side', 'high');
add_meta_box('soundmap-email', __("Uploader Mail", 'soundmap'), 'soundmap_email_meta_box', 'marker', 'side', 'low');
}
function soundmap_email_meta_box(){
global $post;
$mail = get_post_meta($post->ID, 'EMAIL', TRUE);
echo "<p>" . $mail . "</p>";
}
function soundmap_info_meta_box(){
@ -206,177 +357,38 @@ function soundmap_map_meta_box(){
function soundmap_upload_file_meta_box(){
echo '<form id="uploader-form" method="post" action="dump.php"><div id="uploader"></div></form> ';
}
$html = <<<EOHTML
<div id="uploaderContainer">
<div id="uploaderButton"></div>
<div id="uploaderQueue"></div>
<div class="clear"></div>
</div>
EOHTML;
echo $html;
function soundmap_rewrite_flush() {
soundmap_init();
flush_rewrite_rules();
}
function soundmap_register_admin_scripts() {
wp_register_script('soundmap-admin', WP_PLUGIN_URL . '/soundmap/js/soundmap-admin.js', array('jquery-google-maps', 'jquery-plupload', 'jquery-datepicker'));
wp_register_style("soundmap-admin", WP_PLUGIN_URL . '/soundmap/css/soundmap-admin.css', array('plupload-style', 'jquery-datepicker'));
//Register PLUPLOAD
wp_register_style('plupload-style',WP_PLUGIN_URL . '/soundmap/css/jquery.plupload.queue.css');
wp_register_script('plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/plupload.full.js');
wp_register_script('jquery-plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/jquery.plupload.queue.js', array('plupload'));
//Register DATEPICKER
wp_register_script('jquery-datepicker', WP_PLUGIN_URL . '/soundmap/js/jquery.datepicker.js', array('jquery'));
wp_register_style('jquery-datepicker', WP_PLUGIN_URL . '/soundmap/css/jquery.datepicker.css');
}
function soundmap_register_wp_scripts() {
wp_register_script('soundmap', WP_PLUGIN_URL . '/soundmap/js/soundmap-wp.js', array('jquery-google-maps'));
}
function soundmap_admin_enqueue_scripts() {
wp_enqueue_script('soundmap-admin');
wp_enqueue_style('soundmap-admin');
global $soundmap;
$params = array();
$params['plugin_url'] = WP_PLUGIN_URL . '/soundmap/';
$params += $soundmap['origin'];
$params ['mapType'] = $soundmap['mapType'];
wp_localize_script('soundmap-admin','WP_Params',$params);
}
function soundmap_wp_enqueue_scripts() {
global $soundmap;
$params = array();
$params['ajaxurl'] = admin_url( 'admin-ajax.php' );
$params += $soundmap['origin'];
$params ['mapType'] = $soundmap['mapType'];
wp_enqueue_script('soundmap');
wp_localize_script( 'soundmap', 'WP_Params', $params );
}
function _soundmap_save_options(){
$_soundmap = array();
global $soundmap;
//Load defaults;
$_soundmap ['origin']['lat'] = $_POST['soundmap_op_origin_lat'];
$_soundmap ['origin']['lng'] = $_POST['soundmap_op_origin_lng'];
$_soundmap ['origin']['zoom'] = $_POST['soundmap_op_origin_zoom'];
$_soundmap ['mapType'] = $_POST['soundmap_op_origin_type'];
$_soundmap ['map_Page'] = $_POST['soundmap_op_page'];
if(isset($_POST['soundmap_op_plugin']))
$_soundmap ['player_plugin'] = $_POST['soundmap_op_plugin'];
update_option('soundmap',maybe_serialize($_soundmap));
$soundmap = wp_parse_args($_soundmap, $soundmap);
}
function _soundmap_load_options(){
$_soundmap = array();
global $soundmap;
//Load defaults;
$defaults = array();
$defaults['on_page'] = FALSE;
$defaults['origin']['lat'] = 0;
$defaults['origin']['lng'] = 0;
$defaults['origin']['zoom'] = 10;
$defaults['mapType'] = 'ROADMAP';
$defaults['map_Page'] = 'map';
$defaults['player_plugin'] = "";
$_soundmap = maybe_unserialize(get_option('soundmap'));
$_soundmap = wp_parse_args($_soundmap, $defaults);
$soundmap = $_soundmap;
}
function soundmap_save_post($post_id) {
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
// verify this came from the our screen and with proper authorization,
// because save_post can be triggered at other times
if (isset($_POST['soundmap_map_noncename'])){
if ( !wp_verify_nonce( $_POST['soundmap_map_noncename'], plugin_basename( __FILE__ ) ) )
return;
}else{
return;
}
// Check permissions
if ( 'marker' == $_POST['post_type'] )
{
if ( !current_user_can( 'edit_post', $post_id ) )
return;
}
$soundmark_lat = $_POST['soundmap_marker_lat'];
$soundmark_lng = $_POST['soundmap_marker_lng'];
$soundmark_author = $_POST['soundmap_marker_author'];
$soundmark_date = $_POST['soundmap_marker_date'];
add_post_meta($post_id, 'soundmap_marker_lat', $soundmark_lat, TRUE);
add_post_meta($post_id, 'soundmap_marker_lng', $soundmark_lng, TRUE);
add_post_meta($post_id, 'soundmap_marker_author', $soundmark_author, TRUE);
add_post_meta($post_id, 'soundmap_marker_date', $soundmark_date, TRUE);
//before searching on all the $_POST array, let's take a look if there is any upload first!
if(isset($_POST['soundmap_attachments_id'])){
$files = $_POST['soundmap_attachments_id'];
delete_post_meta($post_id, 'soundmap_attachments_id');
foreach ($files as $key => $value){
add_post_meta($post_id, 'soundmap_attachments_id', $value);
soundmap_attach_file($value, $post_id);
};
};
}
function soundmap_JSON_load_markers () {
$query = new WP_Query(array('post_type' => 'marker'));
$markers = array();
if ( !$query->have_posts() )
die();
$posts = $query->posts;
foreach($posts as $post){
$post_id = $post->ID;
$m_lat = get_post_meta($post_id,'soundmap_marker_lat', TRUE);
$m_lng = get_post_meta($post_id,'soundmap_marker_lng', TRUE);
$title = get_the_title ($post_id);
$mark = array(
'lat' => $m_lat,
'lng' => $m_lng,
'id' => $post_id,
'title' => $title
);
$markers[] = $mark;
}
echo json_encode($markers);
die();
}
/*
*
*
* MARKERS & FILES SAVE/MANIPULATION FUNCTIONS
*
*
*/
function soundmap_ajax_file_uploaded_callback() {
if (!isset($_REQUEST['file_name']))
if (!isset($_FILES['Filedata']))
die();
$rtn = array();
$rtn['error'] = "";
$file_data = $_REQUEST['file_name'];
$file_data = $_FILES['Filedata'];
if ($file_data['status'] != 5)
if ($file_data['error'] != 0)
die();
$fileName = sanitize_file_name($file_data['name']);
@ -403,11 +415,11 @@ function soundmap_ajax_file_uploaded_callback() {
$fileName = $fileName_a . '_' . $count . $fileName_b;
}
$tempDir = ini_get("upload_tmp_dir");
$tempDir = $file_data['tmp_name'];
//move it.
$fileDir = $targetDir . DIRECTORY_SEPARATOR . $fileName;
$fileURL = $targetURL . DIRECTORY_SEPARATOR . $fileName;
if(!rename($tempDir . DIRECTORY_SEPARATOR . $file_data['target_name'], $fileDir)){
if(!rename($tempDir, $fileDir)){
$rtn['error'] = __('Error moving the file.','soundmap');
echo json_encode($rtn);
die();
@ -458,77 +470,144 @@ function soundmap_attach_file($att, $post_id){
return $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $att )", $post_id ) );
}
function soundmap_template_redirect(){
global $soundmap;
$page = $soundmap['map_Page'];
if ($page == '[home]'){
function soundmap_save_post($post_id) {
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
// verify this came from the our screen and with proper authorization,
// because save_post can be triggered at other times
if (isset($_POST['soundmap_map_noncename'])){
if ( !wp_verify_nonce( $_POST['soundmap_map_noncename'], plugin_basename( __FILE__ ) ) )
return;
}else{
if ($soundmap['on_page']){
if ($theme=soundmap_get_template_include($page))
include ($theme);
exit();
}
return;
}
// Check permissions
if ( 'marker' == $_POST['post_type'] )
{
if ( !current_user_can( 'edit_post', $post_id ) )
return;
}
$soundmark_lat = $_POST['soundmap_marker_lat'];
$soundmark_lng = $_POST['soundmap_marker_lng'];
$soundmark_author = $_POST['soundmap_marker_author'];
$soundmark_date = $_POST['soundmap_marker_date'];
update_post_meta($post_id, 'soundmap_marker_lat', $soundmark_lat);
update_post_meta($post_id, 'soundmap_marker_lng', $soundmark_lng);
update_post_meta($post_id, 'soundmap_marker_author', $soundmark_author);
update_post_meta($post_id, 'soundmap_marker_date', $soundmark_date);
//before searching on all the $_POST array, let's take a look if there is any upload first!
if(isset($_POST['soundmap_attachments_id'])){
$files = $_POST['soundmap_attachments_id'];
delete_post_meta($post_id, 'soundmap_attachments_id');
foreach ($files as $key => $value){
add_post_meta($post_id, 'soundmap_attachments_id', $value);
soundmap_attach_file($value, $post_id);
};
};
}
/*
*
*
* JAVASCRIPT MANIPULATION FUNCTIONS
*
*
*/
function soundmap_register_scripts(){
//Register google maps.
wp_register_script('google-maps','http://maps.google.com/maps/api/js?libraries=geometry&sensor=true');
wp_register_script('jquery-ui','https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js');
wp_register_script('jquery-google-maps', WP_PLUGIN_URL . '/soundmap/js/jquery.ui.map.min.js', array('jquery', 'jquery-ui', 'google-maps'));
}
function soundmap_register_admin_scripts() {
wp_register_script('soundmap-admin', WP_PLUGIN_URL . '/soundmap/js/soundmap-admin.js', array('jquery-google-maps', 'swfupload', 'swfupload-queue', 'jquery-datepicker'));
wp_register_style("soundmap-admin", WP_PLUGIN_URL . '/soundmap/css/soundmap-admin.css', array('plupload-style', 'jquery-datepicker'));
//Register PLUPLOAD
wp_register_style('plupload-style',WP_PLUGIN_URL . '/soundmap/css/jquery.plupload.queue.css');
wp_register_script('plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/plupload.full.js');
wp_register_script('jquery-plupload', WP_PLUGIN_URL . '/soundmap/js/plupload/jquery.plupload.queue.js', array('plupload'));
//Register YUI Uploader
wp_register_script('yui-uploader', 'http://yui.yahooapis.com/3.4.1/build/yui/yui-min.js');
//Register DATEPICKER
wp_register_script('jquery-datepicker', WP_PLUGIN_URL . '/soundmap/js/jquery.datepicker.js', array('jquery'));
wp_register_style('jquery-datepicker', WP_PLUGIN_URL . '/soundmap/css/jquery.datepicker.css');
}
function soundmap_register_wp_scripts() {
wp_register_script('soundmap', WP_PLUGIN_URL . '/soundmap/js/soundmap-wp.js', array('jquery-google-maps') , "1.0", true);
}
function soundmap_admin_enqueue_scripts() {
wp_enqueue_script('soundmap-admin');
wp_enqueue_style('soundmap-admin');
global $soundmap;
$params = array();
$params['plugin_url'] = WP_PLUGIN_URL . '/soundmap/';
$params += $soundmap['origin'];
$params ['mapType'] = $soundmap['mapType'];
$params['swfupload_flash'] = includes_url('js/swfupload/swfupload.swf');
$params['swfupload_picture'] = includes_url( 'images/upload.png?ver=20100531' );
$params['selectfile'] = __('Select file');
wp_localize_script('soundmap-admin','WP_Params',$params);
}
function soundmap_wp_enqueue_scripts() {
wp_enqueue_script('soundmap');
// add_thickbox();
}
function soundmap_wp_print_footer_scripts(){
global $soundmap;
$params = array();
$params['ajaxurl'] = admin_url( 'admin-ajax.php' );
$params += $soundmap['origin'];
$params ['mapType'] = $soundmap['mapType'];
if (isset($soundmap['markers'])){
$params ['markers'] = json_encode($soundmap['markers']);
}
$params ['pluginURL'] = WP_PLUGIN_URL . "/soundmap/";
wp_localize_script( 'soundmap', 'WP_Params', $params);
}
function soundmap_get_template_include($templ){
if (!$templ)
return FALSE;
$theme_file = TEMPLATEPATH . DIRECTORY_SEPARATOR . $templ . '.php';
$plugin_file = WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . 'soundmap' . DIRECTORY_SEPARATOR . 'theme' . DIRECTORY_SEPARATOR . 'theme_' . $templ . '.php';
if (file_exists($theme_file))
return $theme_file;
if(file_exists($plugin_file))
return $plugin_file;
return FALSE;
}
function soundmap_pre_get_posts( $query ) {
global $soundmap;
if ($soundmap['on_page'])
$query->parse_query( array('post_type'=>'marker') );
return $query;
}
function soundmap_load_infowindow(){
$marker_id = $_REQUEST['marker'];
$marker = get_post( $marker_id);
global $post;
$post = $marker;
setup_postdata($marker);
if(!$marker)
die();
$info['m_author'] = get_post_meta($marker_id, 'soundmap_marker_author', TRUE);
$info['m_date'] = get_post_meta($marker_id, 'soundmap_marker_date', TRUE);
$files = get_post_meta($marker_id, 'soundmap_attachments_id', FALSE);
foreach ($files as $key => $value){
$file = array();
$att = get_post($value);
$file['id'] = $value;
$file['fileURI'] = wp_get_attachment_url($value);
$file['filePath'] = get_attached_file($value);
$file['info'] = soundmap_get_id3info($file['filePath']);
$file['name'] = $att->post_name;
$info['m_files'][] = $file;
}
if ($theme=soundmap_get_template_include('window'))
include ($theme);
die();
}
/*
*
*
* CONFIG PAGE FUNCTIONS
*
*
*/
function soundmap_admin_menu(){
add_options_page(__('Sound Map Configuration','soundmap'), __('Sound Map','soundmap'), 'manage_options', 'soundmap-options-menu','soundmap_menu_page_callback');
}
function soundmap_menu_page_callback(){
if (!current_user_can('manage_options')) {
@ -582,16 +661,6 @@ function soundmap_menu_page_callback(){
</fieldset>
</td>
</tr>
<tr>
<th scope="row"><label for="soundmap_op_page"><?php _e('Show map page','soundmap') ?></label></th>
<td>
<input class="regular-text" name="soundmap_op_page" id="soundmap_op_page" type="text" value="<?php echo $soundmap['map_Page'] ?>">
<br>
<span class="description">
<?php _e('Select one direction for showing the map (ex: map). If you want to use is as your home, write [home].<br>You can also show the map on any page using the shortcode [soundmap]','soundmap') ?>
</span>
</td>
</tr>
</table>
<h3><?php _e('Sound Player Modules','soundmap') ?></h3>
<?php _soundmap_list_installer_audio_players(); ?>
@ -605,6 +674,90 @@ function soundmap_menu_page_callback(){
<?php
}
/*
*
*
* FEED FUNCTIONS
*
*
*/
function soundmap_customfeed() {
load_template( WP_PLUGIN_DIR . '/soundmap/theme/rss-markers.php'); // You'll create a your-custom-feed.php file in your theme's directory
}
function soundmap_custom_feed_rewrite($wp_rewrite) {
$feed_rules = array(
'feed/(.+)' => 'index.php?feed=' . $wp_rewrite->preg_index(1),
'(.+).xml' => 'index.php?feed='. $wp_rewrite->preg_index(1)
);
$wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
function soundmap_rewrite_rules( $wp_rewrite ) {
$new_rules = array(
'feed/(.+)' => 'index.php?feed='.$wp_rewrite->preg_index(1)
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
function soundmap_add_feed( ) {
global $wp_rewrite;
add_feed('podcast', 'soundmap_customfeed');
add_action('generate_rewrite_rules', 'soundmap_rewrite_rules');
$wp_rewrite->flush_rules();
}
/*
*
*
* INTERNAL FUNCTIONS
*
*
*/
function _soundmap_mountPostContent($info){
$t = "";
if (function_exists("qtrans_init")){
//we are using multilanguage;
global $q_config;
foreach ($q_config['enabled_languages'] as $key=>$value){
$sel_Lang = $value;
$lang_Name = $q_config['language_name'][$sel_Lang];
$texts[$sel_Lang] = $info["descripcion_" . $sel_Lang];
}
$t = qtrans_join($texts);
}
return $t;
}
function _soundmap_mountPostTitle($info){
$t = "";
if (function_exists("qtrans_init")){
//we are using multilanguage;
global $q_config;
foreach ($q_config['enabled_languages'] as $key=>$value){
$sel_Lang = $value;
$lang_Name = $q_config['language_name'][$sel_Lang];
$texts[$sel_Lang] = $info["title_" . $sel_Lang];
}
$t = qtrans_join($texts);
}
return $t;
}
function _soundmap_list_installer_audio_players(){
include_once(ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'plugin.php');
@ -645,46 +798,53 @@ function _soundmap_list_installer_audio_players(){
<?php
}
add_action('template_redirect', 'soundmap_template_redirect');
add_action('init', 'soundmap_init');
add_action('admin_enqueue_scripts', 'soundmap_admin_enqueue_scripts');
add_action('wp_enqueue_scripts', 'soundmap_wp_enqueue_scripts');
add_action('admin_init', 'soundmap_register_admin_scripts');
add_action('save_post', 'soundmap_save_post');
add_action('admin_menu', "soundmap_admin_menu");
add_action('wp_ajax_soundmap_file_uploaded', 'soundmap_ajax_file_uploaded_callback');
add_action('wp_ajax_nopriv_soundmap_JSON_load_markers','soundmap_JSON_load_markers');
add_action('wp_ajax_nopriv_soundmap_load_infowindow','soundmap_load_infowindow');
add_filter( 'pre_get_posts', 'soundmap_pre_get_posts' );
register_activation_hook(__FILE__, 'soundmap_rewrite_flush');
function get_uri() {
$request_uri = $_SERVER['REQUEST_URI'];
// for consistency, check to see if trailing slash exists in URI request
if (substr($request_uri, -1)!="/") {
$request_uri = $request_uri."/";
}
preg_match_all('#[^/]+/#', $request_uri, $matches);
// could've used explode() above, but this is more consistent across varied WP installs
$uri = $matches[0];
return $uri;
}
function add_player_interface($files, $id){
if(!is_array($files))
function _soundmap_postsArrayToList($posts){
if (!is_array($posts))
return;
global $soundmap_Player;
$insert_content = $soundmap_Player->print_audio_content($files, $id);
echo $insert_content;
$list = array();
foreach ($posts as $post){
array_push($list,$post->ID);
}
return $list;
}
function _soundmap_load_options(){
$_soundmap = array();
global $soundmap;
//Load defaults;
$defaults = array();
$defaults['on_page'] = FALSE;
$defaults['origin']['lat'] = 0;
$defaults['origin']['lng'] = 0;
$defaults['origin']['zoom'] = 10;
$defaults['mapType'] = 'ROADMAP';
$defaults['player_plugin'] = "";
$_soundmap = maybe_unserialize(get_option('soundmap'));
$_soundmap = wp_parse_args($_soundmap, $defaults);
$soundmap = $_soundmap;
load_plugin_textdomain('soundmap', "wp-content/plugins/soundmap/languages", dirname( plugin_basename( __FILE__ ) ) . "/languages");
}
function _soundmap_save_options(){
$_soundmap = array();
global $soundmap;
//Load defaults;
$_soundmap ['origin']['lat'] = $_POST['soundmap_op_origin_lat'];
$_soundmap ['origin']['lng'] = $_POST['soundmap_op_origin_lng'];
$_soundmap ['origin']['zoom'] = $_POST['soundmap_op_origin_zoom'];
$_soundmap ['mapType'] = $_POST['soundmap_op_origin_type'];
if(isset($_POST['soundmap_op_plugin']))
$_soundmap ['player_plugin'] = $_POST['soundmap_op_plugin'];
update_option('soundmap',maybe_serialize($_soundmap));
$soundmap = wp_parse_args($_soundmap, $soundmap);
}

Binary file not shown.

View File

@ -1,206 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: soundmap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-08-22 16:40+0100\n"
"PO-Revision-Date: 2011-08-22 16:40+0100\n"
"Last-Translator: \n"
"Language-Team: audiolab elkartea <audiolab.elkartea@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;gettext;gettext_noop;_e;_x\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-Country: SPAIN\n"
"X-Poedit-SearchPath-0: .\n"
#: soundmap.php:35
msgid "Marks"
msgstr ""
#: soundmap.php:36
msgid "Mark"
msgstr ""
#: soundmap.php:37
msgid "Add New"
msgstr ""
#: soundmap.php:38
msgid "Add New Marker"
msgstr ""
#: soundmap.php:39
msgid "Edit Marker"
msgstr ""
#: soundmap.php:40
msgid "New Marker"
msgstr ""
#: soundmap.php:41
msgid "All Markers"
msgstr ""
#: soundmap.php:42
msgid "View Marker"
msgstr ""
#: soundmap.php:43
msgid "Search Markers"
msgstr ""
#: soundmap.php:44
msgid "No markers found"
msgstr ""
#: soundmap.php:45
msgid "No markers found in Trash"
msgstr ""
#: soundmap.php:143
msgid "Place the Marker"
msgstr ""
#: soundmap.php:144
msgid "Add a sound file"
msgstr ""
#: soundmap.php:145
msgid "Add info for the marker"
msgstr ""
#: soundmap.php:146
msgid "Sound files attached."
msgstr ""
#: soundmap.php:156
msgid "Author"
msgstr ""
#: soundmap.php:170
msgid "Filename"
msgstr ""
#: soundmap.php:170
msgid "Length"
msgstr ""
#: soundmap.php:200
msgid "Latitud"
msgstr ""
#: soundmap.php:202
msgid "Longitud"
msgstr ""
#: soundmap.php:411
msgid "Error moving the file."
msgstr ""
#: soundmap.php:529
#: soundmap.php:550
msgid "Sound Map Configuration"
msgstr ""
#: soundmap.php:529
msgid "Sound Map"
msgstr ""
#: soundmap.php:535
msgid "You do not have sufficient permissions to access this page."
msgstr ""
#: soundmap.php:553
msgid "Map Configuration"
msgstr ""
#: soundmap.php:556
msgid "Origin configuration"
msgstr ""
#: soundmap.php:559
msgid "Choose the original configuration with the map."
msgstr ""
#: soundmap.php:561
msgid "Latitude"
msgstr ""
#: soundmap.php:564
msgid "Longitude"
msgstr ""
#: soundmap.php:567
msgid "Zoom"
msgstr ""
#: soundmap.php:573
msgid "Map type"
msgstr ""
#: soundmap.php:577
msgid "Terrain"
msgstr ""
#: soundmap.php:578
msgid "Satellite"
msgstr ""
#: soundmap.php:579
msgid "Map"
msgstr ""
#: soundmap.php:580
msgid "Hybrid"
msgstr ""
#: soundmap.php:586
msgid "Show map page"
msgstr ""
#: soundmap.php:591
msgid "Select one direction for showing the map (ex: map). If you want to use is as your home, write [home].<br>You can also show the map on any page using the shortcode [soundmap]"
msgstr ""
#: soundmap.php:596
msgid "Sound Player Modules"
msgstr ""
#: soundmap.php:625
msgid "Version"
msgstr ""
#: soundmap.php:625
msgid "By"
msgstr ""
#: soundmap.php:625
msgid "Visit plugin site"
msgstr ""
#: soundmap.php:635
msgid "Plugin"
msgstr ""
#: soundmap.php:636
msgid "Description"
msgstr ""
#: theme/theme_map.php:25
msgid "SoundMap"
msgstr ""
#: theme/theme_window.php:12
msgid "Date"
msgstr ""
#: theme/theme_window.php:19
msgid "Tags"
msgstr ""
#: theme/theme_window.php:20
msgid "Categories"
msgstr ""

View File

@ -0,0 +1,67 @@
<?php
/**
* RSS2 Feed Template for displaying RSS2 Posts feed.
*
* @package WordPress
*/
header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);
$more = 1;
echo '<?xml version="1.0" encoding="'.get_option('blog_charset').'"?'.'>'; ?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<?php
$args = array(
'post_type'=> 'marker',
'post_status' => 'publish',
'order' => 'DESC',
'posts_per_page' => 10,
'orderby' => 'date'
);
query_posts( $args );
?>
<channel>
<title><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
<atom:link href="<?php self_link(); ?>" rel="self" type="application/rss+xml" />
<link><?php bloginfo_rss('url') ?></link>
<description><?php bloginfo_rss("description") ?></description>
<lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate>
<language><?php echo get_option('rss_language'); ?></language>
<sy:updatePeriod><?php echo apply_filters( 'rss_update_period', 'hourly' ); ?></sy:updatePeriod>
<sy:updateFrequency><?php echo apply_filters( 'rss_update_frequency', '1' ); ?></sy:updateFrequency>
<?php do_action('rss2_head'); ?>
<?php while( have_posts()) : the_post(); ?>
<item>
<title><?php the_title_rss() ?></title>
<link><?php the_permalink_rss() ?></link>
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
<?php the_category_rss('rss2') ?>
<guid isPermaLink="false"><?php the_guid(); ?></guid>
<?php if (get_option('rss_use_excerpt')) : ?>
<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php else : ?>
<description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
<?php if ( strlen( $post->post_content ) > 0 ) : ?>
<content:encoded><![CDATA[<?php the_content_feed('rss2') ?>]]></content:encoded>
<?php else : ?>
<content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
<?php endif; ?>
<?php endif; ?>
<?php soundmap_rss_enclosure(); ?>
<?php do_action('rss2_item'); ?>
</item>
<?php endwhile; ?>
</channel>
</rss>

View File

@ -1,50 +0,0 @@
#map-page{
position:absolute;
top:0;
left:0;
background-color: white;
width: 100%;
height: 100%;
min-width: 1200px;
}
#map{
height:100%;
width: 100%;
}
.map_canvas{width:100%; height:100%;}
#left{
height: 100%;
width: 75%;
position: relative;
float: left;
z-index: 100;
}
#right{
width: 25%;
height: 100%;
background: white url(img/shadow.png) repeat-y left;
overflow-y: auto;
float: right;
z-index: -1;
min-width: 300px;
}
#map-content{
padding: 20px 10px;
}
.logo{
text-align: center;
height: 50px;
padding-top: 20px;
}
.marker-window{
width:300px;
}

View File

@ -1,60 +0,0 @@
<?php
/**
* The Header for the MAP default themplate
*
* Displays all of the <head> section and everything up till <div id="main">
*
*/
?><!DOCTYPE html>
<!--[if IE 6]>
<html id="ie6" <?php language_attributes(); ?>>
<![endif]-->
<!--[if IE 7]>
<html id="ie7" <?php language_attributes(); ?>>
<![endif]-->
<!--[if IE 8]>
<html id="ie8" <?php language_attributes(); ?>>
<![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
<html <?php language_attributes(); ?>>
<!--<![endif]-->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width" />
<title><?php
$title = __('SoundMap', 'soundmap') . ' | ';
$title = apply_filters('wp_title', $title, "|", 'right');
echo $title;
bloginfo( 'name' );
?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="stylesheet" type="text/css" media="all" href="<?php echo WP_PLUGIN_URL ?>/soundmap/theme/theme_map.css" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
<![endif]-->
<?php
/* Always have wp_head() just before the closing </head>
* tag of your theme, or you will break many plugins, which
* generally use this hook to add elements to <head> such
* as styles, scripts, and meta tags.
*/
wp_head();
?>
</head>
<body <?php body_class(); ?>>
<div id="map-page" class="hfeed">
<div id="map">
<div class="map_canvas">
</div>
</div>
</div>
<?php wp_footer(); ?>
</body>
</html>

View File

@ -4,7 +4,7 @@
<div <?php post_class('marker-window', $marker_id) ?>>
<div class="post-title"><h3><?php echo get_the_title($marker_id); ?></h3></div>
<div class="post-title"><h3><a href="<?php echo get_permalink($marker_id);?>"><?php echo get_the_title($marker_id); ?></a></h3></div>
<div class="post-content">
<?php echo apply_filters('the_content',get_the_content()) ?>
<hr>
@ -20,5 +20,6 @@
<?php echo __('Categories','soundmap') . ': '; the_category(' | '); ?>
</div>
</div>
</div>