diff --git a/doc/Home.md b/doc/Home.md
index cd8752c1e..b37c76417 100644
--- a/doc/Home.md
+++ b/doc/Home.md
@@ -46,6 +46,7 @@ Friendica Documentation and Resources
* [Plugin Development](help/Plugins)
* [Theme Development](help/themes)
* [Smarty 3 Templates](help/smarty3-templates)
+* [Code - Reference(Doxygen generated - sets cookies)](doc/html/)
**External Resources**
diff --git a/doc/de/Home.md b/doc/de/Home.md
index 2a9ea091e..44ebfc028 100644
--- a/doc/de/Home.md
+++ b/doc/de/Home.md
@@ -50,6 +50,7 @@ Friendica - Dokumentation und Ressourcen
* [Plugin Development](help/Plugins)
* [Theme Development](help/themes)
* [Smarty 3 Templates](help/smarty3-templates)
+* [Code-Referenz (mit doxygen generiert - setzt Cookies)](doc/html/)
**Externe Ressourcen**
diff --git a/doc/html/index.php b/doc/html/index.php
new file mode 100644
index 000000000..2e1b4277c
--- /dev/null
+++ b/doc/html/index.php
@@ -0,0 +1,16 @@
+
+
+
+ $Projectname Doxygen API Documentation
+
+
+$Projectname Doxygen API Documentation not rendered
+
+To get the Doxygen API Documentation you must render it with the program Doxygen (included in most distributions).
+
+$ doxygen util/Doxyfile
+
+
+back
+
+
diff --git a/include/group.php b/include/group.php
index 862d06818..fd1c97dfd 100644
--- a/include/group.php
+++ b/include/group.php
@@ -340,3 +340,30 @@ function groups_containing($uid,$c) {
return $ret;
}
+/**
+ * @brief count unread group items
+ *
+ * Count unread items of each groups
+ *
+ * @return array
+ * 'id' => group id
+ * 'name' => group name
+ * 'count' => counted unseen group items
+ *
+ */
+function groups_count_unseen() {
+
+ $r = q("SELECT `group`.`id`, `group`.`name`, COUNT(`item`.`id`) AS `count` FROM `group`, `group_member`, `item`
+ WHERE `group`.`uid` = %d
+ AND `item`.`uid` = %d
+ AND `item`.`unseen` AND `item`.`visible`
+ AND NOT `item`.`deleted`
+ AND `item`.`contact-id` = `group_member`.`contact-id`
+ AND `group_member`.`gid` = `group`.`id`
+ GROUP BY `group`.`id` ",
+ intval(local_user()),
+ intval(local_user())
+ );
+
+ return $r;
+}
\ No newline at end of file
diff --git a/mod/ping.php b/mod/ping.php
index 967555881..57728d329 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -2,6 +2,7 @@
require_once("include/datetime.php");
require_once('include/bbcode.php');
require_once('include/forums.php');
+require_once('include/group.php');
require_once("mod/proxy.php");
function ping_init(&$a) {
@@ -34,7 +35,7 @@ function ping_init(&$a) {
$home = 0;
$network = 0;
- $network_group = array();
+ $groups_unseen = array();
$forums_unseen = array();
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`wall`, `item`.`author-name`,
@@ -88,20 +89,11 @@ function ping_init(&$a) {
}
}
- if ( $network )
- {
- # Find out how unseen network posts are spread across groups
- $sql = "SELECT g.id, g.name, count(i.id) count " .
- "FROM `group` g, group_member gm, item i " .
- "WHERE g.uid = %d " .
- "AND i.uid = %d " .
- "AND i.unseen AND i.visible " .
- "AND NOT i.deleted " .
- "AND i.`contact-id` = gm.`contact-id` " .
- "AND gm.gid = g.id GROUP BY g.id";
- #echo '' . $sql . '';
- $network_group = q($sql, intval(local_user()), intval(local_user()));
- #echo '';
+ if($network) {
+ if(intval(feature_enabled(local_user(),'groups'))) {
+ // Find out how unseen network posts are spread across groups
+ $groups_unseen = groups_count_unseen();
+ }
if(intval(feature_enabled(local_user(),'forumlist_widget'))) {
$forums_unseen = forums_count_unseen();
@@ -227,9 +219,9 @@ function ping_init(&$a) {
$home\r\n";
if ($register!=0) echo "$register";
- if ( count($network_group) ) {
+ if ( count($groups_unseen) ) {
echo '';
- foreach ($network_group as $it) {
+ foreach ($groups_unseen as $it) {
echo '' . $it['count'] . "";
}
echo "";
diff --git a/util/Doxyfile b/util/Doxyfile
new file mode 100644
index 000000000..4527c4ca6
--- /dev/null
+++ b/util/Doxyfile
@@ -0,0 +1,23 @@
+INPUT = README.md index.php boot.php testargs.php update.php mod/ object/ include/ js/ util/ view/ version.inc
+RECURSIVE = YES
+PROJECT_NAME = "Friendica"
+PROJECT_LOGO = images/friendica-64.jpg
+EXCLUDE = .htconfig.php library/ doc/ .git/ log/ util/zotsh/easywebdav/ addon/ report/ privacy_image_cache/ photo/ proxy/ local/
+EXCLUDE_PATTERNS = *smarty3* *strings.php*.log *.out *test*
+OUTPUT_DIRECTORY = doc
+GENERATE_HTML = YES
+HTML_OUTPUT = html/
+HTML_FILE_EXTENSION = .html
+GENERATE_LATEX = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+GENERATE_TODOLIST = YES
+USE_MDFILE_AS_MAINPAGE = README.md
+REFERENCED_BY_RELATION = YES
+GENERATE_TREEVIEW = YES
+HTML_FOOTER = util/Doxygen.footer
+ALIASES += "license=@par License:\n"
+ALIASES += "fixme=\xrefitem fixme \"Fixme\" \"Fixme List\""
+ALIASES += "FIXME=\fixme"
+ALIASES += "TODO=\todo"
+ALIASES += "BUG=\bug"
diff --git a/util/Doxygen.footer b/util/Doxygen.footer
new file mode 100644
index 000000000..fd40910d9
--- /dev/null
+++ b/util/Doxygen.footer
@@ -0,0 +1,4 @@
+
+
+
+