xref: /plugin/openlayersmap/action.php (revision 38a47c60cc6e07c37451d90f3ec54a36e64048ad)
1*38a47c60SMark Prins<?php
2*38a47c60SMark Prins/*
3*38a47c60SMark Prins * Copyright (c) 2008-2011 Mark C. Prins <mc.prins@gmail.com>
4*38a47c60SMark Prins *
5*38a47c60SMark Prins * Permission to use, copy, modify, and distribute this software for any
6*38a47c60SMark Prins * purpose with or without fee is hereby granted, provided that the above
7*38a47c60SMark Prins * copyright notice and this permission notice appear in all copies.
8*38a47c60SMark Prins *
9*38a47c60SMark Prins * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10*38a47c60SMark Prins * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11*38a47c60SMark Prins * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12*38a47c60SMark Prins * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13*38a47c60SMark Prins * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14*38a47c60SMark Prins * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15*38a47c60SMark Prins * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*38a47c60SMark Prins */
17*38a47c60SMark Prins
18*38a47c60SMark Prins/**
19*38a47c60SMark Prins * Plugin OL Maps: Allow Display of a OpenLayers Map in a wiki page.
20*38a47c60SMark Prins * Toolbar button.
21*38a47c60SMark Prins * @author Mark Prins
22*38a47c60SMark Prins */
23*38a47c60SMark Prins
24*38a47c60SMark Prinsif (!defined('DOKU_INC')) die();
25*38a47c60SMark Prinsif (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/');
26*38a47c60SMark Prinsrequire_once (DOKU_PLUGIN . 'action.php');
27*38a47c60SMark Prins
28*38a47c60SMark Prinsclass action_plugin_openlayersmap extends DokuWiki_Action_Plugin {
29*38a47c60SMark Prins
30*38a47c60SMark Prins	/**
31*38a47c60SMark Prins	 * plugin should use this method to register its handlers with the DokuWiki's event controller
32*38a47c60SMark Prins	 *
33*38a47c60SMark Prins	 * @param    $controller   DokuWiki's event controller object. Also available as global $EVENT_HANDLER
34*38a47c60SMark Prins	 */
35*38a47c60SMark Prins	function register(& $controller) {
36*38a47c60SMark Prins		$controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'insert_button', array ());
37*38a47c60SMark Prins	}
38*38a47c60SMark Prins
39*38a47c60SMark Prins	/**
40*38a47c60SMark Prins	 * Inserts a toolbar button.
41*38a47c60SMark Prins	 */
42*38a47c60SMark Prins	function insert_button(& $event, $param) {
43*38a47c60SMark Prins		$strOpen ='<olmap id="olMapOne" width="550px" height="450px" lat="50.0" ';
44*38a47c60SMark Prins		$strOpen.='lon="5.1" zoom="12" statusbar="1" toolbar="1" controls="1" poihoverstyle="0" ';
45*38a47c60SMark Prins		$strOpen.='baselyr="OpenStreetMap" gpxfile="" kmlfile="">\n';
46*38a47c60SMark Prins		$strOpen.='~~ Plugin olmap help.\n';
47*38a47c60SMark Prins		$strOpen.='~~ Required in the above tag are values for: id (unique on this page), width, heigth.\n';
48*38a47c60SMark Prins		$strOpen.='~~ Also you will want to enter zoomlevel and lat, lon values that make sense for where you want the map to start.\n\n';
49*38a47c60SMark Prins		$strOpen.='~~ Below is an example of a POI, you can add as many as you want. ';
50*38a47c60SMark Prins		$strOpen.='~~ More examples: http://dokuwiki.org/plugin:openlayersmap \n';
51*38a47c60SMark Prins		$event->data[] = array (
52*38a47c60SMark Prins			'type' => 'format',
53*38a47c60SMark Prins			'title' => $this->getLang('openlayersmap'),
54*38a47c60SMark Prins			'icon' => '../../plugins/openlayersmap/toolbar/map.png',
55*38a47c60SMark Prins			'open' => $strOpen,
56*38a47c60SMark Prins			'sample' => '50.0117,5.1287,-90,.8,marker-green.png,Pont de Barbouillons; Daverdisse \\\\ external link: [[http://test.com|test.com]] \\\\ internal link: [[::start]]\\\\ **DW Formatting** \n',
57*38a47c60SMark Prins			'close' => '</olmap>\n',
58*38a47c60SMark Prins
59*38a47c60SMark Prins		);
60*38a47c60SMark Prins	}
61*38a47c60SMark Prins}