Merge commit 'origin/platal-0.10.0'
[platal.git] / modules / gadgets / gadgets.inc.php
CommitLineData
92e80560
VZ
1<?php
2/***************************************************************************
8d84c630 3 * Copyright (C) 2003-2009 Polytechnique.org *
92e80560
VZ
4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22// iGoogle gadgets helpers.
23function init_igoogle_xml($template)
24{
d7610c35 25 Platal::page()->changeTpl($template, NO_SKIN);
92e80560
VZ
26
27 header('Content-Type: application/xml; charset=utf-8');
28}
29
30function init_igoogle_html($template, $auth = AUTH_PUBLIC)
31{
d7610c35 32 $page =& Platal::page();
92e80560
VZ
33 $page->changeTpl('gadgets/ig-skin.tpl', NO_SKIN);
34 $page->register_modifier('escape_html', 'escape_html');
35 $page->default_modifiers = Array('@escape_html');
36 header('Accept-Charset: utf-8');
37
38 // Adds external JavaScript libraries provided by iGoogle to the page.
39 if (Env::has('libs')) {
40 $libs = split(',', Env::s('libs'));
41 foreach ($libs as $lib) {
42 if (preg_match('@^[a-z0-9/._-]+$@i', $lib) && !preg_match('@([.][.])|([.]/)|(//)@', $lib)) {
43 $page->append('gadget_js', 'https://www.google.com/ig/f/' . $lib);
44 }
45 }
46 }
47
48 // Redirects the user to the login pagin if required.
49 if ($auth > S::v('auth', AUTH_PUBLIC)) {
50 $page->assign('gadget_tpl', 'gadgets/ig-login.tpl');
51 return false;
52 }
53
54 $page->assign('gadget_tpl', $template);
55 return true;
56}
57
58// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
59?>