]> git.mxchange.org Git - friendica.git/commitdiff
Adding functions for the file- and category handling
authorMichael Vogel <icarus@dabo.de>
Thu, 20 Mar 2014 17:51:13 +0000 (18:51 +0100)
committerMichael Vogel <icarus@dabo.de>
Thu, 20 Mar 2014 17:51:13 +0000 (18:51 +0100)
include/files.php [new file with mode: 0644]
mod/network.php

diff --git a/include/files.php b/include/files.php
new file mode 100644 (file)
index 0000000..b3bd769
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+function create_files_from_item($itemid) {
+       global $a;
+
+       $messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
+
+       if (!$messages)
+               return;
+
+       $message = $messages[0];
+
+       // Clean up all tags
+       q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
+               intval(TERM_OBJ_POST),
+               intval($itemid),
+               intval(TERM_FILE),
+               intval(TERM_CATEGORY));
+
+       if ($message["deleted"])
+               return;
+
+       if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files))
+               foreach ($files[1] as $file)
+                       $r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
+                               intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_FILE), dbesc($file));
+
+       if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files))
+               foreach ($files[1] as $file)
+                       $r = q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
+                               intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), dbesc($file));
+}
+
+function create_files_from_itemuri($itemuri, $uid) {
+       $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
+
+       if(count($messages)) {
+               foreach ($messages as $message)
+                       create_files_from_item($message["id"]);
+       }
+}
+
+function update_files_for_items() {
+       $messages = q("SELECT `id` FROM `item` where file !=''");
+
+       foreach ($messages as $message) {
+               echo $message["id"]."\n";
+               create_files_from_item($message["id"]);
+       }
+}
+?>
index 5b2908f0e967b144afbb8fae0db3b00a03f03b9a..e10e7b78805e46b860a1791e1cf7a46913fd1a4e 100644 (file)
@@ -1,9 +1,4 @@
 <?php
-/*
-To-Do:
-- Update berücksichtigt keine Konversationen
-*/
-
 function network_init(&$a) {
        if(! local_user()) {
                notice( t('Permission denied.') . EOL);