diff --git a/odm/css/styles.css b/odm/css/styles.css index 770c009..b4ea170 100644 --- a/odm/css/styles.css +++ b/odm/css/styles.css @@ -1,7 +1,11 @@ + html { + height: 100%; + } + body { margin: 0; font-family: 'Roboto',arial,sans-serif; - display: block; + height: 100%; } .content-overlay-box { @@ -51,7 +55,7 @@ } .details-container { - width: 420px; + width: 510px; } .details { @@ -105,9 +109,11 @@ padding: 1px 15px 1px 15px; margin: 0px 0px 20px 0px; border: 1px solid black; - width: 360px; - height: 70px; - overflow: auto; + width: 450px; + height: 100px; + overflow-x: hidden; + overflow-y: auto; + white-space: nowrap; } .detail-contents { @@ -174,7 +180,7 @@ min-width: 248px; position: absolute; z-index: 1; - visibility: hidden; + display: none; } .device-summary:hover, .selected-tab { @@ -194,25 +200,15 @@ } iframe { - display: block; - width: 100%; - border: none; - overflow-y: auto; + display: block; + width: 100%; + border: none; + overflow-y: auto; overflow-x: hidden; - } - - .loading { - margin: 0; - padding: 0; - background-image: url('../images/loading.gif'); - background-position: center; - background-repeat: no-repeat; - height: 18px; - width: 18px; - float: left; } + #button { - visibility: hidden; + display: none; min-width: 0; padding: 0; background-image: url('../images/send-cmd.png'); @@ -272,28 +268,11 @@ min-width: 248px; position: absolute; z-index: 1; - visibility: hidden; + display: none; top: 60px; left: 350px; } - .wait-list { - overflow: hidden; - padding-left: 20px; - text-overflow: ellipsis; - white-space: nowrap; - color: #737373; - font-size: 15px; - } - - .wait-list-small { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - color: #737373; - font-size: 11px; - } - .command-list { overflow: hidden; padding: 3px 3px 3px 20px; @@ -303,25 +282,6 @@ font-size: 12px; } - #command-wait-dropdown { - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - -moz-box-shadow: 0 2px 40px rgba(0,0,0,0.4); - -ms-box-shadow: 0 2px 40px rgba(0,0,0,0.4); - -webkit-box-shadow: 0 2px 40px rgba(0,0,0,0.4); - box-shadow: 0 2px 40px rgba(0,0,0,0.4); - background-color: #fff; - border: 1px solid #d6d6d6; - max-width: 220px; - min-width: 220px; - position: absolute; - z-index: 1; - visibility: hidden; - top: 60px; - left: 350px; - } - #command-sent-dropdown { -moz-border-radius: 3px; -webkit-border-radius: 3px; @@ -336,7 +296,7 @@ min-width: 200px; position: absolute; z-index: 1; - visibility: hidden; + display: none; top: 60px; left: 350px; } @@ -359,7 +319,7 @@ -webkit-box-shadow: 0 2px 6px rgba(0,0,0,0.3),0 -3px 8px rgba(0,0,0,0.2); box-shadow: 0 2px 6px rgba(0,0,0,0.3),0 -3px 8px rgba(0,0,0,0.2); background-color: #fff; - visibility: hidden; + display: none; top: 50px; left: 100px; z-index: 3; @@ -420,6 +380,10 @@ a:active { color: #333; } - .map_layer { - overflow: hidden; + #map_layer { + height: 93%; + } + #shell_cmd { + width: 98%; + height: 17px; } diff --git a/odm/devices.php b/odm/devices.php new file mode 100644 index 0000000..da926c3 --- /dev/null +++ b/odm/devices.php @@ -0,0 +1,124 @@ + 0) { + $count = 0; + $dropdown = ""; + $first_name = ""; + $first_gcm_regid = ""; + $first_created_at = ""; + $first_id = 0; + foreach ($users as $row) { + $phpdate = strtotime($row['created_at']); + $formated_created_at = date( 'm/d/Y', $phpdate ); + if (($count == 0 && (!isset($id) || $id=='')) || (isset($id) && $id == $row['id'])) { + $first_name = $row['name']; + $first_gcm_regid = $row['gcm_regid']; + $first_created_at = $formated_created_at; + $first_token = $row['token']; + $first_id = $row['id']; + $dropdown .= '
'; + } else { + $dropdown .= '
'; + } + $dropdown .= '
'; + $dropdown .= '
'.$row['name'].'
'; + $dropdown .= '
Registered: '.$formated_created_at.'
'; + $dropdown .= '
'; + $dropdown .= '
'; + $count++; + } + +?> +
+
+
+
+
+
Registered:
+
+
+
+
+
+
+ +
+
+
+
+
Get location
+
Get location (GPS only)
+
Send shell command
+
ListSMS
+
ListCallLog
+
ListWhatsapp
+
Request file from device
+
Record audio
+
Take rear photo (Low res)
+
Take front photo (Low res)
+
Take rear photo (High res)
+
Take front photo (High res)
+
Take rear video (Low res)
+
Take front video (Low res)
+
Take rear video (High res)
+
Take front video (High res)
+
Start Ring
+
Stop Ring
+
Lock device
+
Lock device with password
+
Receive SMS
+
Wipe device
+
Send notification
+
Download file to device
+
Delete this device
+
+
+
+
+
+
+
Command Sent
+
+
+
+
+
+
+ +
+
+
+
+
+ Log Entries +
+
+
receiving...
+
+
+
+
+ +
No devices registered.
+ diff --git a/odm/images/blue_ball.png b/odm/images/blue_ball.png new file mode 100644 index 0000000..517c85f Binary files /dev/null and b/odm/images/blue_ball.png differ diff --git a/odm/images/green_ball.png b/odm/images/green_ball.png new file mode 100644 index 0000000..c881e09 Binary files /dev/null and b/odm/images/green_ball.png differ diff --git a/odm/images/red_ball.png b/odm/images/red_ball.png new file mode 100644 index 0000000..9129083 Binary files /dev/null and b/odm/images/red_ball.png differ diff --git a/odm/include/db.php b/odm/include/db.php index 222fa9d..b9aa5c4 100644 --- a/odm/include/db.php +++ b/odm/include/db.php @@ -100,9 +100,33 @@ function getImg($user_id, $id) { return $img; } + function getMessage($user_id, $id) { + global $con; + $message = ""; + $stmt = $con->prepare("select m.message from gcm_data d, gcm_messages m, gcm_users u where d.id = m.id and m.gcm_regid = u.gcm_regid and u.user_id = ? and d.id = ?"); + $stmt->execute(array($user_id, $id)); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + foreach ($rows as $row) { + $message .= $row['message']; + } + return $message; + } + + function getRegID($user_id, $id) { + global $con; + $regid = ""; + $stmt = $con->prepare("select m.gcm_regid from gcm_data d, gcm_messages m, gcm_users u where d.id = m.id and m.gcm_regid = u.gcm_regid and u.user_id = ? and d.id = ?"); + $stmt->execute(array($user_id, $id)); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + foreach ($rows as $row) { + $regid .= $row['gcm_regid']; + } + return $regid; + } + function getMessages($gcm_regid, $limit) { global $con; - $sql = "select message,created_at,id,data FROM gcm_messages where gcm_regid = ? order by created_at desc"; + $sql = "select message,created_at,id,data,gcm_regid FROM gcm_messages where gcm_regid = ? order by created_at desc"; if (isset($limit)) { $sql .= " limit $limit"; } @@ -112,6 +136,27 @@ function getMessages($gcm_regid, $limit) { return $rows; } + function getMessagesId($gcm_regid, $minid, $limit) { + global $con; + $sql = "select message,created_at,id,data,gcm_regid FROM gcm_messages where gcm_regid = ? and id > ? order by created_at desc"; + if (isset($limit)) { + $sql .= " limit $limit"; + } + $stmt = $con->prepare($sql); + $stmt->execute(array($gcm_regid,$minid)); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + return $rows; + } + + function getLastMessageID($gcm_regid) { + global $con; + $sql = "select id FROM gcm_messages where gcm_regid = ? order by created_at desc"; + $stmt = $con->prepare($sql); + $stmt->execute(array($gcm_regid)); + $currentId = $stmt->fetchColumn(); + return $currentId; + } + function getUserRecord($username) { global $con; $matchrow = null; @@ -132,7 +177,7 @@ function updatePassword($username, $hash) { $stmt->execute(array($hash, $token, $username)); return $token; } - + function storeUsername($username, $hash) { global $con; $stmt = $con->prepare("select * from users where username = ?"); diff --git a/odm/include/footer.php b/odm/include/footer.php index 772ecc8..7fb2bd6 100644 --- a/odm/include/footer.php +++ b/odm/include/footer.php @@ -1,5 +1,2 @@ - diff --git a/odm/include/header.php b/odm/include/header.php index 99296e5..9bf8738 100644 --- a/odm/include/header.php +++ b/odm/include/header.php @@ -1,17 +1,22 @@ - - + + Open Device Manager - - + + + + + + + - +
Open Device Manager