コード例 #1
0
ファイル: index.php プロジェクト: jorik041/WhatsSpy-Public
													(SELECT ROUND(EXTRACT(\'epoch\' FROM SUM("end" - "start"))) FROM status_history t ' . $group_query_join_where . ' t.status=true AND t."end" IS NOT NULL) "user_status_count_time",
													(SELECT COUNT(1) FROM profilepicture_history t ' . $group_query_join . ') "profilepicture_count",
													(SELECT COUNT(1) FROM statusmessage_history t ' . $group_query_join . ') "statusmessage_count",
													(SELECT COUNT(1) FROM lastseen_privacy_history t ' . $group_query_join . ') "lastseen_privacy_count",
													(SELECT COUNT(1) FROM profilepic_privacy_history t  ' . $group_query_join . ') "profilepic_privacy_count",
													(SELECT COUNT(1) FROM statusmessage_privacy_history t ' . $group_query_join . ') "statusmessage_privacy_count",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.lastseen_privacy = true) "account_lastseen_privacy_enabled",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.lastseen_privacy = false) "account_lastseen_privacy_disabled",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.statusmessage_privacy = true) "account_statusmessage_privacy_enabled",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.statusmessage_privacy = false) "account_statusmessage_privacy_disabled",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.profilepic_privacy = true) "account_profilepic_privacy_enabled",
													(SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join_where . ' a.active = true AND a.verified = true AND a.profilepic_privacy = false) "account_profilepic_privacy_disabled";');
                $select_global->execute();
                $result_global = $select_global->fetch(PDO::FETCH_ASSOC);
                // Fix timezone
                $result_global['first_tracker_session'] = fixTimezone($result_global['first_tracker_session']);
                // Add group name
                $result_global['shared_group_name'] = @$token_group['name'];
                echo json_encode($result_global);
                break;
            case 'top_usage_users':
                // Top 10 setup
                $result_topusers = array();
                // Add metadata: the amount of users (in this group)
                $select_meta = $DBH->prepare('SELECT COUNT(1) FROM accounts a ' . $group_query_acc_join);
                $select_meta->execute();
                $result_topusers['meta'] = $select_meta->fetch(PDO::FETCH_ASSOC);
                $top_limit = is_numeric($_GET['users']) ? round($_GET['users']) : 10;
                $select = $DBH->prepare('SELECT ' . $select_top . ' a.name, ROUND(EXTRACT(\'epoch\' FROM SUM(sh."end" - sh."start"))) "online", COUNT(sh.status) "count"
									        FROM accounts a
									        LEFT JOIN status_history sh ON sh.number = a.id
コード例 #2
0
ファイル: index.php プロジェクト: ankurdebnath/WebProjects
                 array_push($result_status, $status);
             }
             $select = $DBH->prepare('SELECT hash, changed_at FROM profilepicture_history WHERE number = :number ORDER BY changed_at DESC');
             $select->execute(array(':number' => $number));
             $result_picture = array();
             // Quick fix, need better solution
             foreach ($select->fetchAll(PDO::FETCH_ASSOC) as $status) {
                 $status['changed_at'] = fixTimezone($status['changed_at']);
                 array_push($result_picture, $status);
             }
             $select = $DBH->prepare('SELECT status, changed_at FROM statusmessage_history WHERE number = :number ORDER BY changed_at DESC');
             $select->execute(array(':number' => $number));
             $result_statusmsg = array();
             // Quick fix, need better solution
             foreach ($select->fetchAll(PDO::FETCH_ASSOC) as $status) {
                 $status['changed_at'] = fixTimezone($status['changed_at']);
                 array_push($result_statusmsg, $status);
             }
             if (count($result_status) != 0) {
                 array_push($accounts, array('id' => $number, 'status' => $result_status, 'statusmessages' => $result_statusmsg, 'pictures' => $result_picture));
             }
         }
         echo json_encode($accounts);
     } else {
         echo json_encode(['error' => 'No number supplied!', 'code' => 400]);
     }
     break;
 case 'getAbout':
     echo file_get_contents($whatsspyAboutQAUrl);
     break;
 default: