function getNumbers() { global $stats; $stats['Key numbers'] = array(); $emoticonSql = getQuery("SELECT shortcut FROM emoticon"); $shortcuts = array(); while ($row = mysqli_fetch_assoc($emoticonSql)) { $emoticonShortcuts = $row['shortcut']; $exploded = explode(' ', $emoticonShortcuts); foreach ($exploded as $shortcut) { $shortcuts[] = $shortcut; } } $messagesTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message")); $messages = $messagesTable['COUNT(*)']; $stats['Key numbers']['Number of messages'] = $messages; if ($messages > 0) { $usersQuery = getQuery("SELECT id, username FROM user"); $users = array(); while ($user = mysqli_fetch_assoc($usersQuery)) { $users[] = $user; } $stats['Key numbers']['Messages per user'] = array(); foreach (array_keys($users) as $user) { ////////////////////////////////////////////////////////////////////// HER VISES IKKE NAVNET I JSON-EN $id = $users[$user]['id']; $userMessagesTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message WHERE author = {$id}")); $userMessages = $userMessagesTable['COUNT(*)']; $stats['Key numbers']['Messages per user'][$user] = array(); $stats['Key numbers']['Messages per user'][$user]['Total'] = $userMessages; $stats['Key numbers']['Messages per user'][$user]['Percentage'] = printPercentage($userMessages, $messages); } $skypeTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message WHERE skype = 1")); $skype = $skypeTable['COUNT(*)']; $stats['Key numbers']['Messages from Skype'] = array(); $stats['Key numbers']['Messages from Skype']['Total'] = $skype; $stats['Key numbers']['Messages from Skype']['Percentage'] = printPercentage($skype, $messages); $notSkypeTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message WHERE skype = 0")); $notSkype = $notSkypeTable['COUNT(*)']; $stats['Key numbers']['Messages not from Skype'] = array(); $stats['Key numbers']['Messages not from Skype']['Total'] = $notSkype; $stats['Key numbers']['Messages not from Skype']['Percentage'] = printPercentage($notSkype, $messages); $lengthTable = mysqli_fetch_assoc(getQuery("SELECT AVG(LENGTH(content)) FROM message")); $length = $lengthTable['AVG(LENGTH(content))']; $stats['Key numbers']['Average message length'] = round($length, 2); $stats['Key numbers']['Average message length per user'] = array(); foreach (array_keys($users) as $user) { ////////////////////////////////////////////////////////////////////// HER VISES IKKE NAVNET I JSON-EN $id = $users[$user]['id']; $userLengthTable = mysqli_fetch_assoc(getQuery("SELECT AVG(LENGTH(content)) FROM message WHERE author = {$id}")); $userLength = $userLengthTable['AVG(LENGTH(content))']; $stats['Key numbers']['Average message length per user'][$user] = array(); $stats['Key numbers']['Average message length per user'][$user]['Total'] = round($userLength, 2); } /* list($mostUsedWords, $mostUsedEmoticons, $numWordsTotal, $numEmoticonsTotal) = mostUsedWordsAndEmoticons(null, $shortcuts); $numWordsUnique = sizeof($mostUsedWords); $content[] = '<br>'.getString('totNoWords').': '.$numWordsTotal.'<br>'; $content[] = '<br>'.getString('totNoUniqueWords').': '.$numWordsUnique.'<br>'; $content[] = '<br>'.getString('mostUsedWords').':<br>'; printWordList($mostUsedWords, false); $numEmoticonsUnique = sizeof($mostUsedEmoticons); $content[] = '<br>'.getString('totNoEmoticons').': '.$numEmoticonsTotal.'<br>'; $content[] = '<br>'.getString('totNoUniqueEmoticons').': '.$numEmoticonsUnique.'<br>'; $content[] = '<br>'.getString('mostUsedEmoticons').':<br>'; printWordList($mostUsedEmoticons, false); foreach ($users as $user) { list($userWords, $userEmoticons, $numWordsUser, $numEmoticonsUser) = mostUsedWordsAndEmoticons($user['id'], $shortcuts); $numWordsUserUnique = sizeof($userWords); $content[] = '<br>'.getString('noWordsFor').' '.$user['username'].': '.$numWordsUser.'<br>'; $content[] = '<br>'.getString('noUniqueWordsFor').' '.$user['username'].': '.$numWordsUserUnique.'<br>'; $content[] = '<br>'.getString('mostUsedWordsFor').' '.$user['username'].':<br>'; printWordList($userWords, false); $numEmoticonsUserUnique = sizeof($userEmoticons); $content[] = '<br>'.getString('noEmoticonsFor').' '.$user['username'].': '.$numEmoticonsUser.'<br>'; $content[] = '<br>'.getString('noUniqueEmoticonsFor').' '.$user['username'].': '.$numEmoticonsUserUnique.'<br>'; $content[] = '<br>'.getString('mostUsedEmoticonsFor').' '.$user['username'].':<br>'; printWordList($userEmoticons, false); $content[] = '<br>'.getString('relMostUsedWordsFor').' '.$user['username'].':<br>'; $relWords = array(); foreach ($userWords as $k => $v) { if ($mostUsedWords[$k] >= 10) // To avoid words you've used 1-9 times and no one else uses to dominate the list $relWords[$k] = ($v / $numWordsUser) / ($mostUsedWords[$k] / $numWordsTotal); } asort($relWords); $relWords = array_reverse($relWords); printWordList($relWords, true); $content[] = '<br>'.getString('relMostUsedEmoticonsFor').' '.$user['username'].':<br>'; $relEmoticons = array(); foreach ($userEmoticons as $k => $v) { if ($mostUsedWords[$k] >= 10) // To avoid emoticons you've used 1-9 times and no one else uses to dominate the list $relEmoticons[$k] = ($v / $numEmoticonsUser) / ($mostUsedEmoticons[$k] / $numEmoticonsTotal); } asort($relEmoticons); $relEmoticons = array_reverse($relEmoticons); printWordList($relEmoticons, true); }*/ } }
$content[] = $userMessages; printPercentage($userMessages, $messages); $content[] = '<br>'; } $content[] = '<br>'; $skypeTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message WHERE skype = 1")); $skype = $skypeTable['COUNT(*)']; $content[] = getString('msgFromSkype') . ': '; $content[] = $skype; printPercentage($skype, $messages); $content[] = '<br>'; $notSkypeTable = mysqli_fetch_assoc(getQuery("SELECT COUNT(*) FROM message WHERE skype = 0")); $notSkype = $notSkypeTable['COUNT(*)']; $content[] = getString('msgNotFromSkype') . ': '; $content[] = $notSkype; printPercentage($notSkype, $messages); $content[] = '<br><br>'; $lengthTable = mysqli_fetch_assoc(getQuery("SELECT AVG(LENGTH(content)) FROM message")); $length = $lengthTable['AVG(LENGTH(content))']; $content[] = getString('avgMsgLength') . ': '; $content[] = round($length, 2); $content[] = '<br><br>'; foreach ($users as $user) { $id = $user['id']; $userLengthTable = mysqli_fetch_assoc(getQuery("SELECT AVG(LENGTH(content)) FROM message WHERE author = {$id}")); $userLength = $userLengthTable['AVG(LENGTH(content))']; $content[] = $user['username'] . ': '; $content[] = round($userLength, 2); $content[] = '<br>'; } list($mostUsedWords, $mostUsedEmoticons, $numWordsTotal, $numEmoticonsTotal) = mostUsedWordsAndEmoticons(null, $shortcuts);