aboutsummaryrefslogtreecommitdiffstats
path: root/mod/filer.php
blob: 9a409177c5c4ccb106e90b91f44be26df67c1183 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

require_once('include/security.php');
require_once('include/bbcode.php');
require_once('include/items.php');


function filer_content(&$a) {

	if(! local_user()) {
		killme();
	}

	$term = unxmlify(trim($_GET['term']));
	$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);

	logger('filer: tag ' . $term . ' item ' . $item_id);

	if($item_id && strlen($term)){
		// file item
		store_item_tag(local_user(),$item_id,TERM_OBJ_POST,TERM_FILE,$term,'');

		// protect the entire conversation from periodic expiration

		$r = q("select parent from item where id = %d and uid = %d limit 1",
			intval($item_id),
			intval(local_user())
		);
		if($r) {
			$x = q("update item set item_flags = ( item_flags | %d ) where id = %d and uid = %d",
				intval(ITEM_RETAINED),
				intval($r[0]['parent']),
				intval(local_user())
			);
		}
	} 
	else {
		$filetags = array();
		$r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
			intval(local_user()),
			intval(TERM_FILE)
		);
		if(count($r)) {
			foreach($r as $rr)
				$filetags[] = $rr['term'];
		}
		$tpl = get_markup_template("filer_dialog.tpl");
		$o = replace_macros($tpl, array(
			'$field' => array('term', t("Save to Folder:"), '', '', $filetags, t('- select -')),
			'$submit' => t('Save'),
		));
		
		echo $o;
	}
	killme();
}