-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.php
113 lines (107 loc) · 3.81 KB
/
init.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
/**
* Setup the environment
*/
date_default_timezone_set('Europe/Berlin'); // Set timezone
ini_set('session.gc_probability', 0); // Disable session expired check
header('P3P: CP=CAO PSA OUR'); // Fix IE save cookie in iframe problem
define("ROOT_PATH", realpath(dirname(__FILE__))); // Set include path
set_include_path(ROOT_PATH . '/libs/' . PATH_SEPARATOR);
/**
* Include necessary libraries
*/
require_once ROOT_PATH . '/config.php';
require_once ROOT_PATH . '/libs/fb-php-sdk/3.2/src/facebook.php';
require_once ROOT_PATH . '/libs/AA/fb_helper.php';
require_once ROOT_PATH . '/libs/functions.php';
require_once ROOT_PATH . '/libs/AA/1.0/src/aa_helper.php';
require_once ROOT_PATH . '/libs/AA/1.0/src/AppManager.php';
require_once ROOT_PATH . '/libs/Zend/Translate.php';
/**
* Connect to App-Arena.com App-Manager and init session
*/
$aa_inst_id = false;
if (isset($_GET['aa_inst_id'])) $aa_inst_id = $_GET['aa_inst_id'];
if (isset($_POST['aa_inst_id'])) $aa_inst_id = $_POST['aa_inst_id'];
$appmanager = new AA_AppManager(array(
'aa_app_id' => $aa_app_id,
'aa_app_secret' => $aa_app_secret,
'aa_inst_id' => $aa_inst_id
));
/**
* Start session and initialize App-Manager content
*/
$aa_instance = $appmanager->getInstance();
$aa_scope = 'aa_' . $aa_instance['aa_inst_id'];
session_name($aa_scope);
session_start();
$aa = false;
$aa =& $_SESSION;
$aa['instance'] = $appmanager->getInstance();
$aa['config'] = $appmanager->getConfig();
/**
* Initialize the translation management (Session and Cookie)
*/
$aa_locale_current = false;
if (isset($aa['instance']['aa_inst_locale'])) {
$aa_locale_current = $aa['instance']['aa_inst_locale'];
}
if (isset($_COOKIE[$aa_scope . "_locale"])) {
$aa_locale_current = $_COOKIE[$aa_scope . "_locale"];
}
if ($aa_locale_current) {
$appmanager->setLocale($aa_locale_current);
$aa['locale'] = array();
$aa['locale'][$aa_locale_current] = $appmanager->getTranslation($aa_locale_current);
if (!isset($aa['locale'][$aa_locale_current])) {
$aa_locale = new Zend_Translate('array', $aa['locale'][0], $aa_locale_current);
} else {
$aa_locale = new Zend_Translate('array', $aa['locale'][$aa_locale_current], $aa_locale_current);
}
$aa_locale->setLocale($aa_locale_current);
$aa_translate->translate = $aa_locale;
}
/**
* Initialize and set Facebook information in the session
*/
if (isset ($_REQUEST["signed_request"])) {
$aa['fb'] = array();
$fb_signed_request = parse_signed_request($_REQUEST["signed_request"]);
$is_fb_user_admin = is_fb_user_admin();
$is_fb_user_fan = is_fb_user_fan();
$fb_data = array("is_fb_user_admin" => $is_fb_user_admin,
"is_fb_user_fan" => $is_fb_user_fan,
"signed_request" => $fb_signed_request,
);
if (isset($fb_signed_request['page'])) {
$fb_data['page'] = $fb_signed_request['page'];
}
if (isset($fb_signed_request['user'])) {
$fb_data['user'] = $fb_signed_request['user'];
}
if (isset($fb_signed_request['user_id'])) {
$fb_data['fb_user_id'] = $fb_signed_request['user_id'];
}
foreach ($fb_data as $k => $v) {
$aa['fb'][$k] = $v;
}
$aa['fb']['share_url'] = "https://apps.facebook.com/" . $aa['instance']['fb_app_url'] . "/libs/AA/fb_share.php?aa_inst_id=" . $aa['instance']['aa_inst_id'];
}
/**
* Setup mysql database connection
*/
if ($db_activated) {
require_once ROOT_PATH . '/libs/Zend/Db/Adapter/Pdo/Mysql.php';
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => $db_host,
'username' => $db_user,
'password' => $db_pass,
'dbname' => $db_name
));
// setup db in case the zend db does not work
$connection = mysql_connect($db_host, $db_user, $db_pass);
if ($connection) {
$db_raw = mysql_select_db($db_name, $connection);
mysql_query("set names utf8;");
}
}