Open source plugin to create POIs for mixare.
PHP JavaScript


|	Mixare POI
|	Licensed: GPLv3
|	Documentation for Version pre alpha 0.1

WARNING! The plugin is in a very early pre-alpha state. Please don’t use it in a production environment!

This documentation assumes, that you already know, how to write Wordpress Plugins.
You can learn it here:
To be able to change the Code, you should have a basic knowledge of HTML, CSS, PHP and Javascript (no other languages used for this Plugin).

// mixare-poi.php

Defining the Name and other information. Here are all the Hooks used for this Plugin. The other PHP-Files will also be inlcuded here.

// The folder structure
// -> should be pretty selfexplaining

-> filter
Here will be filtered the Placeholders and changed with the attached Pages.
-> install
Containing the installation Files
-> management
The Backend Menu is located here. It gets called when the Backend is opened.
-> maps
Maps contains a lot of Files, for the functionality of the Frontend. (Google Map)
-> styles
Here are located all CSS Files.
-> uploads
All picutres used for a Map will be uploaded to this place.
-> widget
Here are the files that are necessary for the Widget.

// 1) The filter

-> page_filter.php
Filters the Placeholders of the defined Pages and replaces them with the Templates.
-> title_filter.php
This File changes the Titles of the Plugin Pages (The Page Mixare is for example called  Login here).
-> templates
Here are located the HTML Files for the simple Pages, that have nothing to do with the Maps.
	-> help.tmpl.php
	Contains a little help on how to create new Maps.
	-> login-form.tmpl.php
	Called if the user tries to open the Page of the own Maps and is not logged in yet.
	-> password-form.tmpl.php
	The user can get a new Password here
	-> profile-form.tmpl.php
	The Profile configurations of a User. Change Name, Password and E-Mail address.
	-> register-form.tmpl.php
	Here the user is able to create a new Account, to log in and create new Maps.

// 2) install

-> installer.php
The installer gets called on the activation. It creates Tables in the Database, some Wordpress options and the standard output file.

// 3) management

-> menu_page.php
The main Page of the Backend. Printing the menu and including the Templates for the Backend.
-> category_management.php
Printing all Categories for the Maps. Gives the ability to create new or rename the old ones.
-> email_management.php
Shows the current Email of the users and the ones that that user had in the past.
-> maps_management.php
Shows all Maps with its POI-count. Possibility to delete these Maps, created by all users.
-> plugin_management.php
Here are defined all the basic options for the Plugin.
-> output_file.php
Gives the possibility to export the output File for the Data to a other Host.

// 4) maps

-> available.php
Decides if the Google Map (running a Mix) or the Maps of a user should be loaded. 
-> action.php
The connection between the Google Maps controls and the Database. 
-> upload.php
The Upload of the images (of a Map) in the Google Maps control.
-> viewer.php
Public Maps will be shown in a Google Map here.
-> icons
All icons used in the Plugin are located here.
-> inc
Files that are included into the Google Maps Pages.
	-> maps.php
	Shows all Maps of the current logged in user.
	-> control.php
	Located under each Google Map, while editing it.
	-> data.php
	Prints a Javascript with the necessary Data of the Database, for editing it.
	-> data_view.php
	Prints a Javascript with the necessary Data of the Database, for only viewing a Map.
-> output
The public Files, viewable for everyone.
	-> all.php
	Prints all maps, that are saved in the Database and public.
-> scripts
Containing the Javascript Files.
	-> jQuery.js
	jQuery v1.6.2 necessary for the Google Maps functionality (mostly not used, because jQuery comes with Wordpress).
	-> map_poi.js
	The functions that are used during the editing of a Map.
	-> map_view.js
	The functions that are used while a Map is only viewed.
	-> search.js
	Some functions used on the Frontend pages.

// 5) styles

-> management.css
The CSS File for the Backend Menu.
-> mixare-pages.css
The CSS File for all pages on the Frontend. Reachable from every page.

// 6) uploads

The uploaded Files of the Maps.

// 7) widget

-> widget.php
The Widget class, that is necessary to be able to see the Widget in the Widget Menu.
-> frontendWidget.php
Defining the style of the Widget on the Frontend.
-> login-form.php
Form included in the Widget, to let the User login itself.
-> menu.php
The Content shown in the Widget, if the User is logged in.