12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- SELECT 'dynamic' AS component, sqlpage.run_sql('sqlpage/theme.sql') AS properties;
- SET ":filter_config" = '[
- {"name": "expiry", "type": "hidden"},
- {"name": "value", "type": "hidden"},
- {"name": "type[]", "label": "Type",
- "type": "select", "dropdown": true,
- "multiple": true,
- "width": 3
- },
- {"name": "store[]", "create_new": false,
- "multiple": true,
- "width": 3
- },
- {"name": "expired", "label": "Show Expired",
- "type": "checkbox", "value": "true",
- "width": 2
- },
- {"name": "used", "label": "Show Used",
- "type": "checkbox", "value": "true",
- "width": 2
- }
- ]';
- SET ":validate" = 'Apply';
- SET ":action" = 'Apply';
- SET ":method" = 'get';
- SET ":autofill" = FALSE;
- SELECT 'dynamic' AS component, sqlpage.run_sql('code/form.sql') AS properties;
- SELECT 'list' AS component;
- SELECT COALESCE(type||' ','') || COALESCE(store||' ', '') || COALESCE(expiry, created) AS title
- , COALESCE(content->>'content'||' ', '') || COALESCE(content->>'type', '') AS description
- , '/code?hash='||c.hash AS link
- FROM code c
- LEFT JOIN code_detail cd
- ON c.hash = cd.hash
- WHERE (
- cd.expiry IS NULL OR COALESCE($expired, 'false') = 'true' OR date(cd.expiry) >= date(datetime(CURRENT_TIMESTAMP, 'localtime'))
- ) AND (
- cd.used IS NULL OR COALESCE($used||'', 'false') = 'true' OR COALESCE(cd.used||'','') = 'false'
- ) AND (
- CASE COALESCE($type, '')
- WHEN '' THEN TRUE
- ELSE $type IS NULL OR cd.type IN (SELECT value FROM json_each($type))
- END
- ) AND (
- CASE COALESCE($store, '')
- WHEN '' THEN TRUE
- ELSE $store IS NULL OR cd.store IN (SELECT value FROM json_each($store))
- END
- )
- ORDER BY expiry, created DESC, type, c.hash NULLS FIRST
- ;
|