non_wp_rules = $newrules + $wp_rewrite->non_wp_rules; }//generate_rewrite_rules function register_actions(){ add_action('admin_menu',array($this, 'admin_menu')); add_action('wp_ajax_save-walk',array($this,'save_walk')); add_action('wp_ajax_get-walk',array($this,'get_walk')); add_action( 'rest_api_init', array($this,'soundwalk_rest_api_init')); /* add_action('wp_ajax_areago_file_uploaded',array($this,'areago_ajax_file_uploaded')); add_filter('media_send_to_editor', array($this, 'areago_media_send_to_editor'), 50, 3); add_filter('upload_mimes', array($this,'areago_custom_upload_mimes')); */ } //register_actions function soundwalk_rest_api_init() { // List Walks register_rest_route('soundwalk/v1', '/walk', array( 'methods' => 'GET', 'callback' => array($this,'soundwalk_rest_get_walk'), 'permission_callback' => '__return_true' ) ); register_rest_route('soundwalk/v1', '/walk/(?P\d+)', array( 'methods' => 'GET', 'callback' => array($this,'soundwalk_rest_get_walk'), 'permission_callback' => '__return_true' ) ); } function soundwalk_rest_get_walk ($data) { $walks = array(); $db_helper = new Soundwalk_DB_Helper(); if (!isset($data['id'])) : //get walks; $walks = $db_helper->get_list_walks(); else : // get walk id $w = $db_helper->get_walk($data['id']); if (isset($w)): $walks = array( 'points' => $w->points, 'info' => array( 'title' => $w->name, 'description' => $w->description, 'language' => $w->language, 'fID' => $w->pic_id, 'fileName' => wp_get_attachment_thumb_url( $w->pic_id ), ), 'id' => $data['id'] ); endif; endif; $response = new WP_REST_Response( $walks ); return $response; } function get_walk(){ if (!isset($_POST['id'])){ wp_send_json_error("ID not available"); } $db_helper = new Soundwalk_DB_Helper(); $w = $db_helper->get_walk($_POST['id']); $r = array( 'points' => $w->points, 'info' => array( 'title' => $w->name, 'description' => $w->description, 'language' => $w->language, 'fID' => $w->pic_id, 'fileName' => wp_get_attachment_thumb_url( $w->pic_id ), ), 'id' => $_POST['id'] ); wp_send_json_success($r); } function save_walk(){ if (!isset($_POST['data'])){ wp_send_json_error("Data not available"); } $data = json_decode(stripslashes($_POST['data'])); $up = (isset($_POST['id']))? true : false; $db_helper = new Soundwalk_DB_Helper(); $id = $db_helper->save_walk($data, $up); if ($id === FALSE) wp_send_json_error("Error al guardar el paseo"); $file_helper = new Soundwalk_File_Helper(); $created = $file_helper->createFolder($id); if (!$created) wp_send_json_error("Error en la carpeta"); $zip_helper = new Soundwalk_ZIP(); $result = $zip_helper->create_zip($id); if ($result) wp_send_json_success(array('id'=>$id)); wp_send_json_error("Error ZIP"); } function admin_menu(){ add_menu_page( 'List Walks', 'SoundWalks', 'manage_options', 'soundwalk-manage', array($this,'menu_page_callback')); add_submenu_page( "soundwalk-manage", "Add walk", "Add walk", 'manage_options', 'soundwalk-manage-add', array($this, 'manage_add') ); add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts')); }// admin_menu function admin_enqueue_scripts($hook){ if ($hook=='soundwalks_page_soundwalk-manage-add') { //Styles and scripts for the add/edit page. wp_enqueue_script('wp-util'); wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-tabs'); wp_enqueue_script('jquery-ui-slider'); wp_enqueue_script('thickbox'); wp_enqueue_script('underscore'); wp_enqueue_script('backbone'); wp_enqueue_media(); wp_deregister_script('mediaelement'); wp_register_script('mediaelement', plugins_url('js/mediaelement-and-player.min.js', __FILE__), array('jquery'), '2.13.1'); wp_enqueue_script('wp-mediaelement'); wp_enqueue_script('leafletjs','http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js',array(),'0.6.4',TRUE); // add Leaflet.js wp_enqueue_script('soundwalk_models', plugins_url('js/models.js', __FILE__), array(), '0.1', TRUE); wp_enqueue_script('soundwalk_views', plugins_url('js/views.js', __FILE__), array('soundwalk_models'), '0.1', TRUE); wp_enqueue_script('soundwalk_app', plugins_url('js/app.js', __FILE__), array('soundwalk_views', 'leafletjs', 'backbone', 'underscore', 'jquery'), '0.1', TRUE); wp_enqueue_style('leafletcss','http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css',array(),'0.6.4','all'); // add CSS Leaflet wp_enqueue_style('soundwalk_app_css',plugins_url('soundwalk.css', __FILE__),array(),'0.1','all'); // add CSS Soundwalk app global $soundmap; $params = array(); if (isset($soundmap)) : $params += $soundmap->config['origin']; $params['mapType'] = $soundmap->config['mapType']; if (isset($_GET['walk']) && isset($_GET['action'])){ if($_GET['action'] = "edit"){ $params['edit_Walk'] = $_GET['walk']; } } endif; wp_localize_script('soundwalk_views','SoundwalkOptions',$params); } } //admin_enqueue_scripts function manage_add(){ if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient permissions to access this page.') ); } if (!class_exists('Soundmap_Helper')){ wp_die('Soundmap Plugin is needed'); } if (isset($_GET['walk'])){ } include_once (dirname( __FILE__ ) . '/admin.php'); }// manage_add function menu_page_callback(){ remove_filter('admin_footer','qtrans_modifyExcerpt'); // resuelve problema con qtranslate. if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient permissions to access this page.') ); } if( isset($_GET[ 'action' ]) && $_GET[ 'action' ] == 'delete' ) { //Tenemos datos, por lo que hay que guardarlos... $id = $_GET['walk']; $db_helper = new Soundwalk_DB_Helper(); $db_helper->delete_walk($id); } $table = new Soundwalk_Paseos_List_Table(); $table->prepare_items(); ?>

Walks " class="add-new-h2">Add walk

display() ?>
register_actions(); register_activation_hook( __FILE__, 'soundwalk_install' ); function soundwalk_install(){ global $wp_rewrite; $newrules = array(); $newrules['soundwalk/listado'] = 'wp-content/plugins/soundwalk/listado.php'; $newrules['soundwalk/descarga/(\d*)$'] = 'wp-content/plugins/soundwalk/descarga.php?paseo=$1'; $wp_rewrite->non_wp_rules = $newrules + $wp_rewrite->non_wp_rules; flush_rewrite_rules(true); //Install the db. $db_helper = new Soundwalk_DB_Helper(); $db_helper->install(); $file_helper = new Soundwalk_File_Helper(); $fileOK = $file_helper->check(); }// areago_install add_action("init", array($soundwalk , "init")); add_filter( 'generate_rewrite_rules',array($soundwalk, 'generate_rewrite_rules' ));