diff options
author | friendica <info@friendica.com> | 2012-03-11 21:32:11 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-03-11 21:32:11 -0700 |
commit | 3bc990f7186af620e7e85bbf5c70bf5795c04a6d (patch) | |
tree | 7db68b72b997874c7af9549a2c24c0615484f6a3 | |
parent | 93058af4fcfa0c1dbe8398271c60513dea16338c (diff) | |
download | volse-hubzilla-3bc990f7186af620e7e85bbf5c70bf5795c04a6d.tar.gz volse-hubzilla-3bc990f7186af620e7e85bbf5c70bf5795c04a6d.tar.bz2 volse-hubzilla-3bc990f7186af620e7e85bbf5c70bf5795c04a6d.zip |
more save to file backend
-rw-r--r-- | include/text.php | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/include/text.php b/include/text.php index 08b2b8487..011006b76 100644 --- a/include/text.php +++ b/include/text.php @@ -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; +} + |