3 global $search_exclusions;
6 if (isset($parameter) && $parameter[0] == "file") {
8 $search_exclusions[] = "folder";
9 $owner = (int) $_REQUEST['owner'];
10 $accessline = "(" . run("users:access_level_sql_where",$_SESSION['userid']) . ")";
11 $accessline = str_replace("owner","tags.owner",$accessline);
12 $searchline_files = "$accessline and tagtype = 'file' and owner = $owner and tag = '".addslashes($parameter[1])."'";
13 $searchline_folders = "$accessline and tagtype = 'folder' and owner = $owner and tag = '".addslashes($parameter[1])."'";
14 $file_refs = db_query("select ref from tags where $searchline_files");
15 $folder_refs = db_query("select ref from tags where $searchline_folders");
17 $searchlist = array();
18 if (sizeof($folder_refs) > 0) {
19 foreach($folder_refs as $folder) {
20 $searchlist[] = $folder->ref
;
22 $searchline = " file_folders.ident IN (" . implode(", ", $searchlist) . ") ";
23 $folders = db_query("select file_folders.name, users.name as userfullname, users.username, file_folders.ident from file_folders
24 join users on users.ident = file_folders.owner where ($searchline)
26 $run_result .= "<h2>" . sprintf(gettext("Folders owned by '%s' in category '%s'"),stripslashes($folders[0]->userfullname
),$parameter[1])."</h2>\n";
27 foreach($folders as $folder) {
28 $run_result .= run("templates:draw", array(
29 'context' => 'folder',
30 'username' => stripslashes($folder->username
),
31 'url' => url
.stripslashes($folder->username
)."/files/".$folder->ident
,
32 'ident' => $folder->ident
,
33 'name' => stripslashes($folder->name
),
35 'icon' => url
. "_files/folder.png",
42 $searchlist = array();
43 if (sizeof($file_refs) > 0) {
44 foreach($file_refs as $file) {
45 $searchlist[] = $file->ref
;
47 $searchline = " files.ident IN (" . implode(", ", $searchlist) . ") ";
48 $files = db_query("select files.*, users.username, users.name as userfullname from files
49 join users on users.ident = files.owner where ($searchline)
51 or die(mysql_error());
52 $run_result .= "<h2>" . sprintf(gettext("Files owned by %s in category '%s'"), stripslashes($files[0]->userfullname
), $parameter[1])."</h2>\n";
53 foreach($files as $file) {
54 $run_result .= run("templates:draw", array(
56 'username' => $file->username
,
57 'title' => stripslashes($file->title
),
58 'ident' => $file->ident
,
59 'folder' => $file->folder
,
60 'description' => stripslashes($file->description
),
61 'originalname' => stripslashes($file->originalname
),
62 'url' => url
.$file->username
."/files/".$file->folder
."/".$file->ident
."/".$file->originalname
,
64 'icon' => url
."_files/file.png",
69 $run_result .= "<p><small>[ <a href=\"".url
.$files[0]->username
. "/files/rss/" . $parameter[1] . "\">".sprintf(gettext("RSS feed for files owned by %s"), stripslashes($files[0]->userfullname
)) . " in category '".$parameter[1]."'</a> ]</small></p>\n";
71 $searchline = " tagtype IN ('file','folder') and tag = '".addslashes($parameter[1])."'";
72 $searchline = "(" . run("users:access_level_sql_where",$_SESSION['userid']) . ") and " . $searchline;
73 $searchline = str_replace("owner","tags.owner",$searchline);
74 $sql = "select distinct users.* from tags join users on users.ident = tags.owner where ($searchline)";
75 if ($parameter[0] == "file") {
76 $sql .= " and users.ident != " . $owner;
78 $users = db_query($sql);
80 if (sizeof($users) > 0) {
81 $run_result .= "<h2>". gettext("Users with files or folders in category") . " '". $parameter[1]."'</h2>\n";
82 $body = "<table><tr>";
84 $icon = "default.png";
85 $defaulticonparams = @getimagesize
(path
. "_icons/data/default.png");
87 foreach($users as $key => $info) {
89 list($width, $height, $type, $attr) = $defaulticonparams;
91 if ($info->icon
!= -1) {
92 $icon = db_query("select filename from icons where ident = " . $info->icon
. " and owner = " . $info->ident
);
93 if (sizeof($icon) == 1) {
94 $icon = $icon[0]->filename
;
95 if (!(list($width, $height, $type, $attr) = @getimagesize
(path
. "_icons/data/" . $icon))) {
96 $icon = "default.png";
97 list($width, $height, $type, $attr) = $defaulticonparams;
102 if (sizeof($users) > 4) {
103 $width = round($width / 2);
104 $height = round($height / 2);
106 $friends_userid = $info->ident
;
107 $friends_name = htmlentities(stripslashes($info->name
));
108 $friends_menu = run("users:infobox:menu",array($info->ident
));
109 $link_keyword = urlencode($parameter[1]);
110 $width = round($width / 2);
111 $height = round($height / 2);
115 <a href
="{$url}search/index.php?file={$link_keyword}&owner={$friends_userid}">
116 <img src
="{$url}_icons/data/{$icon}" width
="{$width}" height
="{$height}" alt
="{$friends_name}" border
="0" /></a
><br
/>
117 <span
class="userdetails">
125 $body .= "\n</tr><tr>\n";
129 $body .= "</tr></table>";
130 $run_result .= $body;