<?php

/**
 * Name: Image List
 * Author: Shish <webmaster@shishnet.org>
 * Link: http://code.shishnet.org/shimmie2/
 * License: GPLv2
 * Description: Show a list of uploaded images
 * Documentation:
 *  Here is a list of the search methods available out of the box;
 *  Shimmie extensions may provide other filters:
 *  <ul>
 *    <li>by tag, eg
 *      <ul>
 *        <li>cat
 *        <li>pie
 *        <li>somethi* -- wildcards are supported
 *      </ul>
 *    <li>size (=, &lt;, &gt;, &lt;=, &gt;=) width x height, eg
 *      <ul>
 *        <li>size=1024x768 -- a specific wallpaper size
 *        <li>size&gt;=500x500 -- no small images
 *        <li>size&lt;1000x1000 -- no large images
 *      </ul>
 *    <li>width (=, &lt;, &gt;, &lt;=, &gt;=) width, eg
 *      <ul>
 *        <li>width=1024 -- find images with 1024 width
 *        <li>width>2000 -- find images bigger than 2000 width
 *      </ul>
 *    <li>height (=, &lt;, &gt;, &lt;=, &gt;=) height, eg
 *      <ul>
 *        <li>height=768 -- find images with 768 height
 *        <li>height>1000 -- find images bigger than 1000 height
 *      </ul>
 *    <li>ratio (=, &lt;, &gt;, &lt;=, &gt;=) width : height, eg
 *      <ul>
 *        <li>ratio=4:3, ratio=16:9 -- standard wallpaper
 *        <li>ratio=1:1 -- square images
 *        <li>ratio<1:1 -- tall images
 *        <li>ratio>1:1 -- wide images
 *      </ul>
 *    <li>filesize (=, &lt;, &gt;, &lt;=, &gt;=) size, eg
 *      <ul>
 *        <li>filesize&gt;1024 -- no images under 1KB
 *        <li>filesize&lt=3MB -- shorthand filesizes are supported too
 *      </ul>
 *    <li>id (=, &lt;, &gt;, &lt;=, &gt;=) number, eg
 *      <ul>
 *        <li>id<20 -- search only the first few images
 *        <li>id>=500 -- search later images
 *      </ul>
 *    <li>user=Username & poster=Username, eg
 *      <ul>
 *        <li>user=Shish -- find all of Shish's posts
 *        <li>poster=Shish -- same as above
 *      </ul>
 *    <li>user_id=userID & poster_id=userID, eg
 *      <ul>
 *        <li>user_id=2 -- find all posts by user id 2
 *        <li>poster_id=2 -- same as above
 *      </ul>
 *    <li>hash=md5sum & md5=md5sum, eg
 *      <ul>
 *        <li>hash=bf5b59173f16b6937a4021713dbfaa72 -- find the "Taiga want up!" image
 *        <li>md5=bf5b59173f16b6937a4021713dbfaa72 -- same as above
 *      </ul>
 *    <li>filetype=type & ext=type, eg
 *      <ul>
 *        <li>filetype=png -- find all PNG images
 *        <li>ext=png -- same as above
 *      </ul>
 *    <li>filename=blah & name=blah, eg
 *      <ul>
 *        <li>filename=kitten -- find all images with "kitten" in the original filename
 *        <li>name=kitten -- same as above
 *      </ul>
 *    <li>posted (=, &lt;, &gt;, &lt;=, &gt;=) date, eg
 *      <ul>
 *        <li>posted&gt;=2009-12-25 posted&lt;=2010-01-01 -- find images posted between christmas and new year
 *      </ul>
 *    <li>tags (=, &lt;, &gt;, &lt;=, &gt;=) count, eg
 *      <ul>
 *        <li>tags=1 -- search for images with only 1 tag
 *        <li>tags>=10 -- search for images with 10 or more tags
 *        <li>tags<25 -- search for images with less than 25 tags
 *      </ul>
 *    <li>source=(URL, any, none) eg
 *      <ul>
 *        <li>source=http://example.com -- find all images with "http://example.com" in the source
 *        <li>source=any -- find all images with a source
 *        <li>source=none -- find all images without a source
 *      </ul>
 *    <li>order=(id, width, height, filesize, filename)_(ASC, DESC), eg
 *      <ul>
 *        <li>order=width -- find all images sorted from highest > lowest width
 *        <li>order=filesize_asc -- find all images sorted from lowest > highest filesize
 *      </ul>
 *    <li>order=random_####, eg
 *      <ul>
 *        <li>order=random_8547 -- find all images sorted randomly using 8547 as a seed
 *      </ul>
 *  </ul>
 *  <p>Search items can be combined to search for images which match both,
 *  or you can stick "-" in front of an item to search for things that don't
 *  match it.
 *  <p>Metatags can be followed by ":" rather than "=" if you prefer.
 *  <br />I.E: "posted:2014-01-01", "id:>=500" etc.
 *  <p>Some search methods provided by extensions:
 *  <ul>
 *    <li>Numeric Score
 *      <ul>
 *        <li>score (=, &lt;, &gt;, &lt;=, &gt;=) number -- seach by score
 *        <li>upvoted_by=Username -- search for a user's likes
 *        <li>downvoted_by=Username -- search for a user's dislikes
 *        <li>upvoted_by_id=UserID -- search for a user's likes by user ID
 *        <li>downvoted_by_id=UserID -- search for a user's dislikes by user ID
 *        <li>order=score_(ASC, DESC) -- find all images sorted from by score
 *      </ul>
 *    <li>Image Rating
 *      <ul>
 *        <li>rating=se -- find safe and explicit images, ignore questionable and unknown
 *      </ul>
 *    <li>Favorites
 *      <ul>
 *        <li>favorites (=, &lt;, &gt;, &lt;=, &gt;=) number -- search for images favourited a certain number of times
 *        <li>favourited_by=Username -- search for a user's choices by username
 *        <li>favorited_by_userno=UserID -- search for a user's choice by userID
 *      </ul>
 *    <li>Notes
 *      <ul>
 *        <li>notes (=, &lt;, &gt;, &lt;=, &gt;=) number -- search by the number of notes an image has
 *        <li>notes_by=Username -- search for images containing notes created by username
 *        <li>notes_by_userno=UserID -- search for images containing notes created by userID
 *      </ul>
 *    <li>Artists
 *      <ul>
 *        <li>author=ArtistName -- search for images by artist
 *      </ul>
 *    <li>Image Comments
 *      <ul>
 *        <li>comments (=, &lt;, &gt;, &lt;=, &gt;=) number -- search for images by number of comments
 *        <li>commented_by=Username -- search for images containing user's comments by username
 *        <li>commented_by_userno=UserID -- search for images containing user's comments by userID
 *      </ul>
 *    <li>Pools
 *      <ul>
 *        <li>pool=(PoolID, any, none) -- search for images in a pool by PoolID.
 *        <li>pool_by_name=PoolName -- search for images in a pool by PoolName. underscores are replaced with spaces
 *      </ul>
 *    <li>Post Relationships
 *      <ul>
 *        <li>parent=(parentID, any, none) -- search for images by parentID / if they have, do not have a parent
 *        <li>child=(any, none) -- search for images which have, or do not have children
 *      </ul>
 *  </ul>
 */

class IndexInfo extends ExtensionInfo
{
    public const KEY = "index";

    public $key = self::KEY;
    public $name = "Image List";
    public $url = self::SHIMMIE_URL;
    public $authors = self::SHISH_AUTHOR;
    public $license = self::LICENSE_GPLV2;
    public $description = "Show a list of uploaded images";
    public $core = true;
}