Differences From
Artifact [5c4e9df122]:
73 73 lib.str.cmp(art(0).mime, 'application/sql') == 0
74 74 -- and so on (we need a mimelib at some point) --
75 75 then
76 76 var view = data.view.media_text(viewerprops)
77 77 var text, mime = co.srv:artifact_load(id) mime:free()
78 78 var san = lib.html.sanitize(&co.srv.pool,pstr{[rawstring](text.ptr),text.ct}, false)
79 79 text:free()
80 - view.text = lib.str.acc{}:compose('<pre>',san,'</pre>'):finalize()
81 - san:free()
82 - var pg = view:tostr()
83 - view.text:free()
80 + view.text = co:qstr('<pre>',san,'</pre>')
81 + --san:free()
82 + var pg = view:poolstr(&co.srv.pool)
83 + --view.text:free()
84 84 co:stdpage([lib.srv.convo.page] {
85 85 title = lib.str.plit'media :: text';
86 86 class = lib.str.plit'media viewer text';
87 87 cache = false, body = pg;
88 88 })
89 - pg:free()
89 + --pg:free()
90 90 else co:complain(500,'bad file type','this file type is not supported') end
91 91 elseif path.ct == 4 then
92 92 var act = path(3)
93 - var curl = lib.str.acc{}:compose(pfx, '/media/a/', path(2)):finalize()
94 - defer curl:free()
93 + var curl = co:qstr('/media/a/', path(2))
94 + -- defer curl:free()
95 95 if act:cmp(lib.str.lit'avi') and lib.str.ncmp(art(0).mime, 'image/', 6) == 0 then
96 96 co:confirm('set avatar', 'are you sure you want this image to be your new avatar?',curl)
97 97 elseif act:cmp(lib.str.lit'del') then
98 98 co:confirm('delete', 'are you sure you want to permanently delete this artifact?',curl)
99 99 else goto e404 end
100 100 end
101 101 else
................................................................................
123 123 folders = pstr{'',0};
124 124 directory = pstr{'',0};
125 125 images = pstr{'',0};
126 126 pfx = pfx;
127 127 }
128 128
129 129 if folders.ct > 0 then
130 - var fa: lib.str.acc fa:pool(&co.srv.pool,128)
130 + var fa = co:stra(128)
131 131 var fldr = co:pgetv('folder')
132 132 for i=0,folders.ct do
133 133 var ule = lib.html.urlenc(&co.srv.pool,folders(i), true) -- defer ule:free()
134 134 var san = lib.html.sanitize(&co.srv.pool,folders(i), true) -- defer san:free()
135 135 fa:lpush('<a href="'):ppush(pfx):lpush('/media?folder='):ppush(ule)
136 136 :lpush('">'):ppush(san):lpush('</a>')
137 137 lib.dbg('checking folder ',{fldr.ptr,fldr.ct},' against ',{folders(i).ptr,folders(i).ct})