1
0

Update Google Analytics module to version 3 code created by undagiga in this

forum topic: http://gallery.menalto.com/node/88884#comment-368272
This commit is contained in:
Alex Kuretz 2012-05-17 16:39:06 -06:00
parent 9cb4264560
commit b152980053
6 changed files with 196 additions and 139 deletions

View File

@ -1,53 +1,62 @@
<?php defined("SYSPATH") or die("No direct script access."); <?php defined("SYSPATH") or die("No direct script access.");/**
/** * Gallery - a web based photo album viewer and editor
* Gallery - a web based photo album viewer and editor * Copyright (C) 2000-2009 Bharat Mediratta
* Copyright (C) 2000-2012 Bharat Mediratta *
* * This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at
* the Free Software Foundation; either version 2 of the License, or (at * your option) any later version.
* your option) any later version. *
* * This program is distributed in the hope that it will be useful, but
* This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of
* WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details.
* General Public License for more details. *
* * You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software
* along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
*/ class Admin_Google_Analytics_Controller extends Admin_Controller
class Admin_Google_Analytics_Controller extends Admin_Controller { {
public function index() { public function index()
print $this->_get_view(); {
} print $this->_get_view();
}
public function handler() {
access::verify_csrf(); public function handler()
{
$form = $this->_get_form(); access::verify_csrf();
if ($form->validate()) {
module::set_var( $form = $this->_get_form();
"google_analytics", "code", $form->google_analytics_code->analytics_code->value);
url::redirect("admin/google_analytics"); if ($form->validate())
} {
module::set_var("google_analytics", "code", $form->google_analytics_code->inputs["analytics_code"]->value);
print $this->_get_view($form); module::set_var("google_analytics", "owneradmin_hidden", $form->google_analytics_code->inputs["analytics_owneradmin_hidden"]->value);
} url::redirect("admin/google_analytics");
}
private function _get_view($form=null) {
$v = new Admin_View("admin.html"); print $this->_get_view($form);
$v->content = new View("admin_google_analytics.html"); }
$v->content->form = empty($form) ? $this->_get_form() : $form;
return $v; private function _get_view($form=null)
} {
$v = new Admin_View("admin.html");
private function _get_form() { $v->content = new View("admin_google_analytics.html");
$form = new Forge("admin/google_analytics/handler", "", "post", array("id" => "g-admin-form")); $v->content->form = empty($form) ? $this->_get_form() : $form;
$group = $form->group("google_analytics_code"); return $v;
$group->input("analytics_code")->label(t('Enter the <a href="http://www.google.com/support/googleanalytics/bin/answer.py?answer=113500" target="_blank">Web-Property-ID</a> given by Google.'))->rules("required")->value(module::get_var("google_analytics", "code")); }
$group->submit("submit")->value(t("Save"));
private function _get_form()
return $form; {
} $form = new Forge("admin/google_analytics/handler", "", "post",
array("id" => "gAdminForm"));
$group = $form->group("google_analytics_code");
$group->input("analytics_code")->label(t('Enter the <a href="http://www.google.com/support/googleanalytics/bin/answer.py?answer=113500" target="_blank">Web-Property-ID</a> given by Google.'))->rules("required")->value(module::get_var("google_analytics", "code"));
$group->checkbox("analytics_owneradmin_hidden")->label(t("Omit code for owner and admin"))
->checked(module::get_var("google_analytics", "owneradmin_hidden", false) == 1);
$group->submit("submit")->value(t("Save"));
return $form;
}
} }

View File

@ -1,28 +1,28 @@
<?php defined("SYSPATH") or die("No direct script access."); <?php defined("SYSPATH") or die("No direct script access.");
/** /**
* Gallery - a web based photo album viewer and editor * Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2012 Bharat Mediratta * Copyright (C) 2000-2009 Bharat Mediratta
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at * the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version. * your option) any later version.
* *
* This program is distributed in the hope that it will be useful, but * This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of * WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details. * General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
class google_analytics_event_Core { class google_analytics_event_Core {
static function admin_menu($menu, $theme) { static function admin_menu($menu, $theme) {
$menu->get("settings_menu") $menu->get("settings_menu")
->append(Menu::factory("link") ->append(Menu::factory("link")
->id("google_analytics_menu") ->id("google_analytics_menu")
->label(t("Google Analytics")) ->label(t("Google Analytics"))
->url(url::site("admin/google_analytics"))); ->url(url::site("admin/google_analytics")));
} }
} }

View File

@ -0,0 +1,45 @@
<?php defined("SYSPATH") or die("No direct script access.");/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2009 Bharat Mediratta
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class google_analytics_installer
{
static function install()
{
module::set_var("google_analytics", "code", "");
module::set_var("google_analytics", "owneradmin_hidden", "");
module::set_version("google_analytics", 3);
}
static function upgrade($version)
{
module::set_version("google_analytics", 3);
}
static function deactivate()
{
module::clear_var("google_analytics", "code");
module::clear_var("google_analytics", "owneradmin_hidden");
}
static function uninstall()
{
module::clear_var("google_analytics", "code");
module::clear_var("google_analytics", "owneradmin_hidden");
module::delete("google_analytics");
}
}

View File

@ -1,46 +1,53 @@
<?php defined("SYSPATH") or die("No direct script access."); <?php defined("SYSPATH") or die("No direct script access.");/**
/** * Gallery - a web based photo album viewer and editor
* Gallery - a web based photo album viewer and editor * Copyright (C) 2000-2009 Bharat Mediratta
* Copyright (C) 2000-2012 Bharat Mediratta *
* * This program is free software; you can redistribute it and/or modify
* This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at
* the Free Software Foundation; either version 2 of the License, or (at * your option) any later version.
* your option) any later version. *
* * This program is distributed in the hope that it will be useful, but
* This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of
* WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details.
* General Public License for more details. *
* * You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software
* along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
*/ class google_analytics_theme
class google_analytics_theme { {
static function page_bottom($theme) { static function page_bottom($theme)
$code = module::get_var("google_analytics", "code"); {
if (!$code) { $u_o = 1;
return; if ( ($theme->item->owner_id != identity::active_user()->id) && (identity::active_user()->admin == 0) ) {
} $u_o = 0;
}
$google_code = '
<!-- Begin Google Analytics --> if ( $u_o == 0 || ( ($u_o == 1) && (module::get_var("google_analytics", "owneradmin_hidden") == 0) ) ) {
<script type="text/javascript"> $google_code = '
var gaJsHost = (("https:" == document.location.protocol) ? <!-- Begin Google Analytics -->
"https://ssl." : "http://www."); <script type="text/javascript">
document.write(unescape("%3Cscript src=\'" + gaJsHost + "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script> var _gaq = _gaq || [];
<script type="text/javascript"> _gaq.push(["_setAccount", "'.module::get_var("google_analytics", "code").'"]);
try _gaq.push(["_trackPageview"]);
{
var pageTracker = _gat._getTracker("' . $code . '"); (function() {
pageTracker._trackPageview(); var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
} ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
catch(err){} var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
</script> })();
<!-- End Google Analytics -->';
</script>
return $google_code; <!-- End Google Analytics -->';
}
} return $google_code;
}
}
}

View File

@ -1,7 +1,3 @@
name = "Google Analytics" name = Google Analytics
description = "Renders the Google Analytics Code at the end of the page. Written by 'mcp'." description = Renders the Google Analytics Code at the end of the page.
version = 2 version = 3
author_name = ""
author_url = ""
info_url = "http://codex.gallery2.org/Gallery3:Modules:google_analytics"
discuss_url = "http://gallery.menalto.com/forum_module_google_analytics"

View File

@ -1,6 +1,6 @@
<?php defined("SYSPATH") or die("No direct script access.") ?> <?php defined("SYSPATH") or die("No direct script access.") ?>
<div id="g-admin-google-analytics"> <div id="gAdminGoogleAnalytics">
<h2> <h2>
<?= t("Google Analytics Adminstration") ?> </h2> <?= t("Google Analytics Adminstration") ?> </h2>
<?= $form ?> <?= $form ?>
</div> </div>