Differences From
Artifact [1f18c83945]:
8 8
9 9 local terra
10 10 render_media_gallery(co: &lib.srv.convo, path: lib.mem.ptr(lib.mem.ref(int8)), uid: uint64, acc: &lib.str.acc)
11 11 -- note that when calling this function, path must be adjusted so that path(0)
12 12 -- eq "media"
13 13 var owner = false
14 14 if co.aid ~= 0 and co.who.id == uid then owner = true end
15 - var ou = co.srv:actor_fetch_uid(uid)
16 - if not ou then goto e404 end
17 - do defer ou:free()
15 + var ou = co:uid2actor(uid)
16 + if ou == nil then goto e404 end
17 + do -- defer ou:free()
18 18 var pfx = pstr.null()
19 19 if not owner then
20 20 var pa = co:stra(32)
21 21 pa:lpush('/')
22 - if ou(0).origin ~= 0 then pa:lpush('@') end
23 - pa:push(ou(0).xid,0)
22 + if ou.origin ~= 0 then pa:lpush('@') end
23 + pa:push(ou.xid,0)
24 24 pfx = pa:finalize()
25 25 end
26 26
27 27 if path.ct >= 3 and path(1):cmp('a') then
28 28 var id, idok = lib.math.shorthand.parse(path(2).ptr, path(2).ct)
29 29 if not idok then goto e404 end
30 30 var art = co.srv:artifact_fetch(uid, id)
................................................................................
127 127
128 128 if folders.ct > 0 then
129 129 var fa = co:stra(128)
130 130 var fldr = co:pgetv('folder')
131 131 for i=0,folders.ct do
132 132 var ule = lib.html.urlenc(&co.srv.pool,folders(i), true) -- defer ule:free()
133 133 var san = lib.html.sanitize(&co.srv.pool,folders(i), true) -- defer san:free()
134 - fa:lpush('<a href="'):ppush(pfx):lpush('/media?folder='):ppush(ule)
134 + fa:lpush('<a class="button" href="'):ppush(pfx):lpush('/media?folder='):ppush(ule)
135 135 :lpush('">'):ppush(san):lpush('</a>')
136 136 lib.dbg('checking folder ',{fldr.ptr,fldr.ct},' against ',{folders(i).ptr,folders(i).ct})
137 137 if fldr:ref() and folders(i):cmp(fldr)
138 138 then folder = folders(i) lib.dbg('folder match ',{fldr.ptr,fldr.ct})
139 139 else folders(i):free()
140 140 end
141 141 end
142 142 fa:lpush('<hr>')
143 143 view.folders = fa:finalize()
144 144 folders:free()
145 145 end
146 146
147 147 if owner then
148 - view.menu = '<a class="pos" href="/media/upload">upload</a><hr>'
148 + view.menu = '<a class="pos button" href="/media/upload">upload</a><hr>'
149 149 end
150 150
151 151 var md = co.srv:artifact_enum_uid(uid, folder)
152 152 var gallery: lib.str.acc gallery:pool(&co.srv.pool,256)
153 153 var files: lib.str.acc files:pool(&co.srv.pool,256)
154 154 for i=0,md.ct do
155 155 var desc = lib.smackdown.html(&co.srv.pool,pstr{md(i)(0).desc,0}, true) --defer desc:free()