7 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
9 * @package Magic3 Framework
10 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
11 * @copyright Copyright 2006-2010 Magic3 Project.
12 * @license http://www.gnu.org/copyleft/gpl.html GPL License
13 * @version SVN: $Id: m_g_analyticsWidgetContainer.php 3719 2010-10-19 08:39:44Z fishbone $
14 * @link http://www.magic3.org
16 require_once($gEnvManager->getContainerPath() . '/baseWidgetContainer.php');
18 class m_g_analyticsWidgetContainer extends BaseWidgetContainer
20 private $account; // Google AnalyticsのプロファイルのID
21 const ACCOUNT_HEAD = 'MO-'; // 携帯用アカウントヘッダ
26 function __construct()
29 parent::__construct();
34 * _assign()でデータを埋め込むテンプレートファイルのファイル名を返す。
35 * 読み込むディレクトリは、「自ウィジェットディレクトリ/include/template」に固定。
37 * @param RequestManager $request HTTPリクエスト処理クラス
38 * @param object $param 任意使用パラメータ。そのまま_assign()に渡る
39 * @return string テンプレートファイル名。テンプレートライブラリを使用しない場合は空文字列「''」を返す。
41 function _setTemplate($request, &$param)
43 return 'main.tmpl.html';
48 * _setTemplate()で指定したテンプレートファイルにデータを埋め込む。
50 * @param RequestManager $request HTTPリクエスト処理クラス
51 * @param object $param 任意使用パラメータ。_setTemplate()と共有。
54 function _assign($request, &$param)
56 $this->account = ''; // Google AnalyticsのプロファイルのID
57 $paramObj = $this->getWidgetParamObj();
58 if (!empty($paramObj)){
59 $this->account = $paramObj->account;
63 if (empty($this->account)){
66 $imageUrl = $this->googleAnalyticsGetImageUrl();
67 $this->tmpl->addVar("_widget", "image", $imageUrl);
70 function googleAnalyticsGetImageUrl()
72 //global $GA_ACCOUNT, $GA_PIXEL;
73 $GA_ACCOUNT = self::ACCOUNT_HEAD . $this->account;
74 $GA_PIXEL = $this->gEnv->getCurrentWidgetRootUrl() . '/ga.php';
77 $url .= $GA_PIXEL . "?";
78 $url .= "utmac=" . $GA_ACCOUNT;
79 $url .= "&utmn=" . rand(0, 0x7fffffff);
80 $referer = $_SERVER["HTTP_REFERER"];
81 $query = $_SERVER["QUERY_STRING"];
82 $path = $_SERVER["REQUEST_URI"];
83 if (empty($referer)) {
86 $url .= "&utmr=" . urlencode($referer);
88 $url .= "&utmp=" . urlencode($path);
91 return str_replace("&", "&", $url);