]> git.mxchange.org Git - friendica.git/commitdiff
more save to file backend
authorfriendica <info@friendica.com>
Mon, 12 Mar 2012 04:32:11 +0000 (21:32 -0700)
committerfriendica <info@friendica.com>
Mon, 12 Mar 2012 04:32:11 +0000 (21:32 -0700)
include/text.php

index 08b2b8487604c2d5d2a6351514a89888c3b272d0..011006b764cfd2058f2e41b2b08f9d9a494fda58 100644 (file)
@@ -1254,4 +1254,58 @@ function file_tag_file_query($table,$s,$type = 'file') {
        else
                $str = preg_quote( '<' . file_tag_encode($s) . '>' );
        return " AND " . (($table) ? dbesc($table) . '.' : '') . "file regexp '" . dbesc($str) . "' ";
-}
\ No newline at end of file
+}
+
+function file_tag_save_file($uid,$item,$file) {
+       $result = false;
+       if(! intval($uid))
+               return false;
+       $r = q("select file from item where id = %d and uid = %d limit 1",
+               intval($item),
+               intval($uid)
+       );
+       if(count($r)) {
+               if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']'))
+                       q("update item set file = '%s' where id = %d and uid = %d limit 1",
+                               dbesc($r[0]['file'] . '[' . $file_tag_encode($file) . ']'),
+                               intval($item),
+                               intval($uid)
+                       );
+               $saved = get_pconfig($uid,'system','filetags');
+               if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']')))
+                       set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']');
+       }
+       return true;
+}
+
+function file_tag_unsave_file($uid,$item,$file) {
+       $result = false;
+       if(! intval($uid))
+               return false;
+
+       $pattern = '[' . file_tag_encode($file) . ']' ;
+
+       $r = q("select file from item where id = %d and uid = %d limit 1",
+               intval($item),
+               intval($uid)
+       );
+       if(! count($r))
+               return false;
+
+       q("update item set file = '%s' where id = %d and uid = %d limit 1",
+               dbesc(str_replace($pattern,'',$r[0]['file'])),
+               intval($item),
+               intval($uid)
+       );
+
+       $r = q("select file from item where uid = %d " . file_tag_file_query('item',$file),
+               intval($uid)
+       );
+
+       if(! count($r)) {
+               $saved = get_pconfig($uid,'system','filetags');
+               set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved));
+       }
+       return true;
+}
+