| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Users/SERVERWEB/AppData/Local/Microsoft/OneDrive/26.074.0420.0001/WebAssets/ |
Upload File : |
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Tag Cloud - Vibe Photos</title><script src="/static/platform/ecs.js"></script><script src="/static/view-lib/sql.js"></script><script src="/static/view-lib/theme-sync.js"></script><script src="/static/view-lib/user-activity.js"></script><script>ViewLib.ThemeSync.setupFullThemeSync()</script><link rel="stylesheet" href="/static/tokens/theme.css"><link rel="stylesheet" href="/static/tokens/scrollbar.css"><link rel="stylesheet" href="/static/views/tagcloud.css"></head><body><div id="loading">Loading tags…</div><div id="cloud-panel" class="expanded"><div id="cloud-container"><div id="cloud-world"></div></div></div><div id="split-handle"></div><div id="status-bar"><span id="status-text">Loading…</span> <button class="clear-btn" id="clear-btn" onclick="clearSelection()">Clear</button></div><div id="gallery-panel"><div id="gallery-header"><div id="active-tags"></div><div id="gallery-count"></div></div><div id="gallery-scroll"><div id="gallery-grid"></div></div></div><canvas id="measure-canvas"></canvas><script src="/static/platform/vibe-telemetry.js"></script><script src="/static/platform/od4-fetch.js"></script><script src="/static/view-lib/messages.js"></script><script src="/static/platform/icon.js"></script><script src="/static/view-lib/thumbnail.js"></script><script>!function(){var t=window.fetch;window.fetch=function(e,i){if("string"!=typeof e)return t.call(this,e,i);if(0===e.indexOf("/api/tags")&&-1===e.indexOf("/api/tags/photos")&&(!i||"POST"!==i.method))return ViewLib.SQL.named("tags_list",{}).then(function(t){for(var e=t.map(function(t){return{tag:t.tag,count:t.count}}),i=0,n=0;n<t.length;n++)i+=t[n].count;return new Response(JSON.stringify({tags:e,total_tagged_photos:i}),{headers:{"Content-Type":"application/json"}})});if(0===e.indexOf("/api/tags/photos")&&i&&"POST"===i.method){var n=JSON.parse(i.body).tags||[],a=ViewLib.SQL.named("tags_list",{with:{tags:{tag_names:JSON.stringify(n)}}}),r=ViewLib.SQL.query("SELECT MIN(tm.id) AS tid, cloud.driveItemId, cloud.driveId FROM media_tag_lookup mtl JOIN media_properties cloud USING(driveItemId) JOIN media_libraries drive USING(driveId) JOIN thumbnailCache.thumbnail_metadata tm ON tm.driveItemId = mtl.driveItemId WHERE drive.libraryType = 'Gallery' AND cloud.isTombstoned = 0 AND cloud.takenDateTime IS NOT NULL AND mtl.driveItemId IN ( SELECT mtl2.driveItemId FROM media_tag_lookup mtl2 WHERE mtl2.name IN (SELECT value FROM json_each(?1)) GROUP BY mtl2.driveItemId HAVING COUNT(DISTINCT mtl2.name) = json_array_length(?1)) GROUP BY mtl.driveItemId",[JSON.stringify(n)]);return Promise.all([a,r]).then(function(t){for(var e=t[0],i=t[1],n={},a=0;a<e.length;a++)n[e[a].tag]=e[a].count;var r=i.filter(function(t){return t.tid}).map(function(t){return{tid:t.tid,driveItemId:t.driveItemId,driveId:t.driveId}}),d=r.map(function(t){return t.tid});return new Response(JSON.stringify({thumbnailIds:d,photos:r,count:d.length,available_tags:n}),{headers:{"Content-Type":"application/json"}})})}return t.call(this,e,i)}}()</script><script src="/static/views/tagcloud.js"></script></body></html>