1
0

Merge pull request #116 from rWatcher/master

Module Updates
This commit is contained in:
Bharat Mediratta 2012-07-03 13:53:01 -07:00
commit 83cde81cc4
17 changed files with 109 additions and 35 deletions

View File

@ -57,7 +57,7 @@ class Admin_Pages_Controller extends Admin_Controller {
$page_id = Input::instance()->post("page_id");
$page_name = urlencode(trim(Input::instance()->post("page_name")));
$page_title = Input::instance()->post("page_title");
$page_code = Input::instance()->post("page_code");
$page_code = stripslashes($_REQUEST["page_code"]); // access var directly to get around xss filtering.
$display_menu = Input::instance()->post("display_menu");
// If $page_id is set, update an existing page.
@ -240,7 +240,7 @@ class Admin_Pages_Controller extends Admin_Controller {
// Generate a form for editing an existing page. Reuse the overwrite form for as it's basically the same thing.
return ($this->get_overwrite_page_form($existing_page->id, $existing_page->name, $existing_page->title, $existing_page->html_code, $existing_page->display_menu));
}
private function get_prefs_form() {
// Generate a form for global preferences.
$form = new Forge("admin/pages/saveprefs", "", "post",
@ -250,12 +250,15 @@ class Admin_Pages_Controller extends Admin_Controller {
$pages_group->checkbox("display_sidebar")
->label(t("Hide sidebar on Pages?"))
->checked(module::get_var("pages", "show_sidebar"));
$pages_group->checkbox("disable_rich_editor")
->label(t("Disable rich text editor?"))
->checked(module::get_var("pages", "disable_rte"));
$pages_group->submit("save_prefs")
->value(t("Save"));
return $form;
}
public function saveprefs() {
// Save a preferences to the database.
@ -263,6 +266,7 @@ class Admin_Pages_Controller extends Admin_Controller {
// Save form variables.
module::set_var("pages", "show_sidebar", Input::instance()->post("display_sidebar"));
module::set_var("pages", "disable_rte", Input::instance()->post("disable_rich_editor"));
// Display message and load main pages admin screen.
message::success(t("Your settings have been saved."));

View File

@ -31,8 +31,15 @@ class Pages_Controller extends Controller {
throw new Kohana_404_Exception();
}
// Set up breadcrumbs.
$breadcrumbs = array();
$root = item::root();
$breadcrumbs[] = Breadcrumb::instance($root->title, $root->url())->set_first();
$breadcrumbs[] = Breadcrumb::instance(t($existing_page[0]->title), url::site("pages/show/{$page_name}"))->set_last();
// Display the page.
$template = new Theme_View("page.html", "other", "Pages");
$template->set_global(array("breadcrumbs" => $breadcrumbs));
$template->page_title = t("Gallery :: ") . t($existing_page[0]->title);
$template->content = new View("pages_display.html");
$template->content->title = $existing_page[0]->title;

View File

@ -31,8 +31,12 @@ class pages_installer {
UNIQUE KEY(`name`))
DEFAULT CHARSET=utf8;");
// Set some initial values.
module::set_var("pages", "show_sidebar", true);
module::set_var("pages", "disable_rte", false);
// Set the module version number.
module::set_version("pages", 2);
module::set_version("pages", 3);
}
static function upgrade($version) {
$db = Database::instance();
@ -40,5 +44,9 @@ class pages_installer {
$db->query("ALTER TABLE {static_pages} ADD COLUMN `display_menu` boolean default 0");
module::set_version("pages", $version = 2);
}
if ($version == 2) {
module::set_var("pages", "disable_rte", false);
module::set_version("pages", $version = 3);
}
}
}

View File

@ -20,8 +20,9 @@
class pages_theme_Core {
static function admin_head($theme) {
// Load jHtmlArea js and css.
return $theme->script("jHtmlArea-0.7.0.js") .
$theme->css("jHtmlArea.css");
if (module::get_var("pages", "disable_rte", false) == false) {
return $theme->script("jHtmlArea-0.7.0.js") .
$theme->css("jHtmlArea.css");
}
}
}

View File

@ -1,6 +1,6 @@
name = "Pages"
description = "Allows Gallery admins to create static pages."
version = 2
version = 3
author_name = "rWatcher"
author_url = "http://codex.gallery2.org/User:RWatcher"
info_url = "http://codex.gallery2.org/Gallery3:Modules:Pages"

View File

@ -17,7 +17,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class Admin_TagsMap_Controller extends Admin_Controller {
public function index() {
// Generate a new admin page.
@ -185,9 +184,8 @@ class Admin_TagsMap_Controller extends Admin_Controller {
// Input box for the Maps API Key
$googlemap_group = $form->group("GoogleMapsKey");
$googlemap_group->input("google_api_key")
->label(t("Google Maps API Key"))
->value(module::get_var("tagsmap", "googlemap_api_key"))
->rules("required");
->label(t("Google APIs Console key (optional):"))
->value(module::get_var("tagsmap", "googlemap_api_key"));
// Input boxes for the Maps starting location map type and zoom.
$startingmap_group = $form->group("GoogleMapsPos");
@ -212,6 +210,8 @@ class Admin_TagsMap_Controller extends Admin_Controller {
"G_PHYSICAL_MAP" => "Physical",
"G_SATELLITE_3D_MAP" => "Google Earth"))
->selected(module::get_var("tagsmap", "googlemap_type"));
$startingmap_group->checkbox("restrict_maps")->label(t("Restrict maps to registered users?"))
->checked(module::get_var("tagsmap", "restrict_maps", false));
// Add a save button to the form.
$form->submit("SaveSettings")->value(t("Save"));
@ -234,6 +234,7 @@ class Admin_TagsMap_Controller extends Admin_Controller {
module::set_var("tagsmap", "googlemap_longitude", $form->GoogleMapsPos->google_starting_longitude->value);
module::set_var("tagsmap", "googlemap_zoom", $form->GoogleMapsPos->google_default_zoom->value);
module::set_var("tagsmap", "googlemap_type", $form->GoogleMapsPos->google_default_type->value);
module::set_var("tagsmap", "restrict_maps", $form->GoogleMapsPos->restrict_maps->value);
// Display a success message and redirect back to the TagsMap admin page.
message::success(t("Your settings have been saved."));
@ -247,4 +248,4 @@ class Admin_TagsMap_Controller extends Admin_Controller {
$view->content->tags = ORM::factory("tag")->order_by("name", "ASC")->find_all();
print $view;
}
}
}

View File

@ -20,17 +20,22 @@
class TagsMap_Controller extends Controller {
public function googlemap($fullsize) {
// Display all tags with GPS coordinates on a google map.
// If the user can't view maps, throw a 404 error.
if ((module::get_var("tagsmap", "restrict_maps") == true) && (identity::active_user()->guest)) {
throw new Kohana_404_Exception();
}
// Generate a list of GPS coordinates.
$tagsGPS = ORM::factory("tags_gps")->find_all();
// Set up and display the actual page.
// If fullsize is true, allow the map to take up the entire browser window,
// if not, then display the map in the gallery theme.
if ($fullsize == true) {
$view = new View("tagsmap_googlemap.html");
$view->map_fullsize = true;
// Load in module preferences.
$view->tags_gps = $tagsGPS;
$view->google_map_key = module::get_var("tagsmap", "googlemap_api_key");
@ -38,21 +43,28 @@ class TagsMap_Controller extends Controller {
$view->google_map_longitude = module::get_var("tagsmap", "googlemap_longitude");
$view->google_map_zoom = module::get_var("tagsmap", "googlemap_zoom");
$view->google_map_type = module::get_var("tagsmap", "googlemap_type");
print $view;
} else {
$template = new Theme_View("page.html", "other", "TagsMap");
// Set up breadcrumbs.
$breadcrumbs = array();
$root = item::root();
$breadcrumbs[] = Breadcrumb::instance($root->title, $root->url())->set_first();
$breadcrumbs[] = Breadcrumb::instance(t("Tag Map"), url::site("tagsmap/googlemap/"))->set_last();
$template = new Theme_View("page.html", "other", "tag");
$template->page_title = t("Gallery :: Map");
$template->set_global(array("breadcrumbs" => $breadcrumbs));
$template->content = new View("tagsmap_googlemap.html");
// Load in module preferences.
// Load in module preferences.
$template->content->tags_gps = $tagsGPS;
$template->content->google_map_key = module::get_var("tagsmap", "googlemap_api_key");
$template->content->google_map_latitude = module::get_var("tagsmap", "googlemap_latitude");
$template->content->google_map_longitude = module::get_var("tagsmap", "googlemap_longitude");
$template->content->google_map_zoom = module::get_var("tagsmap", "googlemap_zoom");
$template->content->google_map_type = module::get_var("tagsmap", "googlemap_type");
print $template;
}
}

View File

@ -4,4 +4,4 @@
#g-tagsmap-dialog {
color: black;
}
#g-tagsmap-dialog a { color: blue !important; }
#g-tagsmap-dialog a { color: blue !important; }

View File

@ -48,6 +48,10 @@ class tagsmap_event_Core {
}
static function photo_menu($menu, $theme) {
// Make sure the user can view maps before displaying one.
if ((module::get_var("tagsmap", "restrict_maps") == true) && (identity::active_user()->guest)) {
return;
}
$menu->append(Menu::factory("link")
->id("tagsmap")
->label(t("View Map"))
@ -56,18 +60,38 @@ class tagsmap_event_Core {
}
static function movie_menu($menu, $theme) {
// Make sure the user can view maps before displaying one.
if ((module::get_var("tagsmap", "restrict_maps") == true) && (identity::active_user()->guest)) {
return;
}
$menu->append(Menu::factory("link")
->id("tagsmap")
->label(t("View Map"))
->url(url::site("tagsmap/googlemap/"))
->css_id("g-tagsmap-link"));
}
static function tag_menu($menu, $theme) {
// Make sure the user can view maps before displaying one.
if ((module::get_var("tagsmap", "restrict_maps") == true) && (identity::active_user()->guest)) {
return;
}
$menu->append(Menu::factory("link")
->id("tagsmap")
->label(t("View Map"))
->url(url::site("tagsmap/googlemap/"))
->css_id("g-tagsmap-link"));
}
static function album_menu($menu, $theme) {
// Make sure the user can view maps before displaying one.
if ((module::get_var("tagsmap", "restrict_maps") == true) && (identity::active_user()->guest)) {
return;
}
$menu->append(Menu::factory("link")
->id("tagsmap")
->label(t("View Map"))
->url(url::site("tagsmap/googlemap/"))
->css_id("g-tagsmap-link"));
}
}
}

View File

@ -36,7 +36,15 @@ class tagsmap_installer {
module::set_var("tagsmap", "googlemap_longitude", 134);
module::set_var("tagsmap", "googlemap_zoom", 5);
module::set_var("tagsmap", "googlemap_type", "G_NORMAL_MAP");
module::set_version("tagsmap", 2);
module::set_var("tagsmap", "restrict_maps", "0");
module::set_version("tagsmap", 3);
}
static function upgrade($version) {
if ($version == 2) {
module::set_var("tagsmap", "restrict_maps", "0");
module::set_version("tagsmap", 3);
}
}
static function deactivate() {

View File

@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class tagsmap_theme_Core {
static function head($theme) {
return $theme->css("tagsmap_menu.css");
}

View File

@ -18,4 +18,4 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class Tags_GPS_Model extends ORM {
}
}

View File

@ -1,6 +1,6 @@
name = "TagsMap"
description = "Assign GPS coordinates to existing tags and display them on a map."
version = 2
version = 3
author_name = "rWatcher"
author_url = "http://codex.gallery2.org/User:RWatcher"
info_url = "http://codex.gallery2.org/Gallery3:Modules:tagsmap"

View File

@ -6,7 +6,8 @@
<h3>
<?= t("Google Maps Settings") ?>
</h3>
<br/><div>You may sign up for a Google Maps API key <a href="http://code.google.com/apis/maps/signup.html" target="_new">here</a>.</div><br/>
<br/><div>
<?=t("You may sign up for a Google APIs Console key"); ?> <a href="https://developers.google.com/maps/documentation/javascript/tutorial#api_key" target="_new">here</a>.</div><br/>
<?= $googlemaps_form ?>
</div>

View File

@ -6,4 +6,3 @@
<a href="<?= url::site("admin/tagsmap") ?>">Cancel</a>
<?= $tagsmapdelete_form ?>
</div>

View File

@ -9,7 +9,13 @@
</div>
<script src="http://www.google.com/jsapi?key=<?= module::get_var("tagsmap", "googlemap_api_key") ?>" type="text/javascript"></script>
<? if (isset($google_map_key) && ($google_map_key != "")) {
print "<script src=\"http://www.google.com/jsapi?key=" . $google_map_key . "\" type=\"text/javascript\"></script>\n";
} else {
print "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script>\n";
}
?>
<script type="text/javascript">
google.load("maps", "2.160");
var lat = $("input[name=gps_latitude]");
@ -55,4 +61,3 @@
google.setOnLoadCallback(Gload);
</script>

View File

@ -9,7 +9,12 @@
<body>
<? } ?>
<script src="http://www.google.com/jsapi?key=<?=$google_map_key ?>" type="text/javascript"></script>
<? if (isset($google_map_key) && ($google_map_key != "")) {
print "<script src=\"http://www.google.com/jsapi?key=" . $google_map_key . "\" type=\"text/javascript\"></script>\n";
} else {
print "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script>\n";
}
?>
<script type="text/javascript">
google.load("maps", "2.160");
@ -64,8 +69,8 @@
<div id="map_canvas" style="width: 100%; height: 100%"></div>
</body></html>
<? } else { ?>
<div id="map_canvas" style="width: 600px; height: 480px"></div> <br/>
<a href="<?= url::site("tagsmap/googlemap/fullsize/1")?>">
<div id="map_canvas" style="width: 690px; height: 480px"></div> <br/>
<center><a href="<?= url::site("tagsmap/googlemap/fullsize/1")?>">
<?= t("View Fullsize")?>
</a><br/><br/>
</a></center><br/><br/>
<? } ?>