Ejemplo n.º 1
0
function getTopFBPosts($account, $count = 10)
{
    $start = tryGET('start');
    $end = tryGet('end');
    $token = getFBToken();
    if (!isset($token[0])) {
        DoNotCache("Facebook: Authentication failed");
        return null;
    }
    //No token
    $url = "https://graph.facebook.com/{$account}/posts";
    $params = array($token[0] => $token[1], "limit" => 100, "fields" => "likes.limit(1).summary(true),shares,actions", "since" => $start, "until" => $end);
    $result = getAPI($url, $params);
    if (!isset($result->data)) {
        return array();
    }
    $rdata = $result->data;
    usort($rdata, 'fbSort');
    $posts = array();
    foreach ($rdata as $key => $p) {
        if ($key < $count) {
            array_push($posts, $p);
        } else {
            break;
        }
    }
    return $posts;
}
Ejemplo n.º 2
0
function getLumEvents()
{
    $start = tryGet('start');
    $end = tryGet('end');
    $sMonth = date('m', $start);
    $sYear = date('Y', $start);
    $eMonth = date('m', $end);
    $eYear = date('Y', $end);
    $events = array();
    for ($y = $sYear; $y <= $eYear; $y++) {
        for ($m = $sMonth; $y * 100 + $m <= $eYear * 100 + $eMonth; $m++) {
        }
    }
}
Ejemplo n.º 3
0
function chartDashboard($settings)
{
    //Setup analytics
    $analytics = getAnalytics();
    //Get data
    $colors = getColorScheme();
    try {
        $data = runQuery($analytics, $settings["Account"], $settings["From"], $settings["To"], "ga:pageviews,ga:users", "ga:date");
        if (isset($data->ga_error)) {
            DoNotCache();
            $data = array();
            $data[0] = array();
            $data[0][0] = 0;
            $data[1] = array();
            $data[2] = array();
        } else {
            $data = invertData($data->getRows());
        }
    } catch (Exception $e) {
        return json_encode($e);
    }
    $att = getAttendanceData($settings["From"], $settings["To"], tryGet("location"));
    //Form chart
    date_default_timezone_set('UTC');
    $start = strtotime($settings["From"]);
    $int = 1 * 24 * 60 * 60;
    //1 day
    $chart = new Highchart('areaspline');
    $chart->addPlotOption('fillOpacity', 0.2);
    $chart->addSeries($data[1], 'Pageviews', $colors[0]);
    $chart->addSeries($data[2], 'Users', $colors[1]);
    $chart->addSeries($att, 'Attendance', 'rgba(35,145,35,1)');
    if (tryGet('twitter')) {
        $chart->addSeries(array(), 'Tweets', 'rgb(80, 171, 241)', array('visible' => false));
    }
    if (tryGet('fb')) {
        $chart->addSeries(array(), 'Facebook Posts', 'rgba(68,97,157, 1)', array('visible' => false));
    }
    if (tryGet('ig')) {
        $chart->addSeries(array(), 'Instagram Images', 'rgba(185,163,140, 1)', array('visible' => false));
    }
    if (tryGet('ga')) {
        $chart->addSeries(array(), 'Anomalies', 'rgba(247,153,28, 1)', array('visible' => false));
    }
    $chart->addTimestamps($start * 1000, $int * 1000);
    //print $chart->toJson();
    return $chart->toJson();
}
Ejemplo n.º 4
0
function getEvents()
{
    $start = tryGET('start');
    $end = tryGET('end');
    $lt = false;
    if (tryGet('longterm')) {
        $lt = true;
    }
    $loc = strtolower(tryGET('location'));
    //Get accounts
    $accounts = json_decode(file_get_contents('config/accounts.json'), true);
    $locAccounts = $accounts['location'][$loc]['accounts'];
    //print_r($accounts);
    $events = array();
    foreach ($locAccounts as $key => $act) {
        $type = $act['type'];
        $import = false;
        if (isset($act["import"])) {
            $locArr = $act["locations"];
            $import = true;
        } else {
            $id = $act["id"];
        }
        //print $id;
        $te = array();
        switch ($type) {
            case 'twitter':
                if (!$lt) {
                    if ($import) {
                        $te = getMultipleEvents($locArr, $type);
                    } else {
                        $te = topTweetEvents($id);
                    }
                }
                break;
            case 'google analytics':
                $te = gaEvents($id);
                break;
            case 'facebook':
                if (!$lt) {
                    if ($import) {
                        $te = getMultipleEvents($locArr, $type);
                    } else {
                        $te = fbEvents($id);
                    }
                }
                break;
            case 'instagram':
                if (!$lt) {
                    if ($import) {
                        $te = getMultipleEvents($locArr, $type);
                    } else {
                        $te = igEvents($id);
                    }
                }
                break;
        }
        if (isset($te)) {
            $events = array_merge($events, $te);
        }
    }
    usort($events, "sortEvents");
    $json = array("events" => $events);
    $json["start"] = $start * 1000;
    $json["end"] = $end * 1000;
    return $json;
}