The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
[SQL]
# Requests
AllRequests=SELECT * FROM requests ORDER BY section,command
AllSections=SELECT DISTINCT(section) FROM requests ORDER BY section
AllRequestSection=SELECT * FROM requests WHERE section=? ORDER BY section,command
GetRequestByID=SELECT * FROM requests WHERE requestid=?
GetRequest=SELECT * FROM requests WHERE section=? AND command=?
AddRequest=INSERT INTO requests (section,command,actions,layout,content,onsuccess,onerror,onfailure,secure,rewrite) VALUES (?,?,?,?,?,?,?,?,?,?)
SaveRequest=UPDATE requests SET section=?,command=?,actions=?,layout=?,content=?,onsuccess=?,onerror=?,onfailure=?,secure=?,rewrite=? WHERE requestid=?
DeleteRequests=DELETE FROM requests WHERE requestid IN ($ids)


# Update Entries
PageTimeStamp=SELECT pagets FROM updates WHERE area=? AND pageid=?
PageCounter=SELECT counter FROM hits WHERE area=? AND pageid=? AND photoid=?
AdminHits=SELECT h.pageid,h.photoid,h.counter,pg.title,ph.thumb FROM hits AS h LEFT JOIN pages AS pg ON pg.pageid=h.pageid LEFT JOIN photos AS ph ON ph.photoid=h.photoid ORDER BY $orderby h.pageid,h.photoid
AdminUpdates=SELECT * FROM updates ORDER BY pagets desc

GetUpdate=SELECT * FROM updates WHERE area=? AND pageid=?
SetUpdate=UPDATE updates SET now=? WHERE area=? AND pageid=?
AddUpdate=INSERT INTO updates (now,area,pageid) VALUES (?,?,?)


# Hit Entries
PageHits=SELECT h.* \
    FROM hits AS h \
    WHERE h.pageid=0 AND h.photoid=0 \
    ORDER BY h.counter DESC,h.pageid LIMIT 10
PageHits2=SELECT h.*,pg.title,pg.year,pg.month,pg.summary \
    FROM hits AS h \
    LEFT JOIN pages AS pg ON pg.pageid=h.pageid \
    WHERE h.pageid > 0 AND h.photoid=0 \
    ORDER BY h.counter DESC,h.pageid LIMIT 10


# Metadata Entries
MetaSearchPage=SELECT x.pageid AS id,p.* FROM mxpages AS x INNER JOIN pages AS p ON p.pageid=x.pageid WHERE metadata IN ($meta)
MetaDetailPage=SELECT pageid AS id,* FROM pages WHERE title LIKE '%$meta%' OR summary LIKE '%$meta%'
MetaDeletePage=DELETE FROM mxpages WHERE pageid=?
MetaUpdatePage=INSERT INTO mxpages (pageid,metadata) VALUES (?,?)
MetaSearchPagePhoto=SELECT p.photoid AS id,p.* FROM mxpages AS x \
    INNER JOIN photos AS p ON p.pageid=x.pageid \
    INNER JOIN pages AS g ON g.pageid=x.pageid \
    WHERE metadata IN ($meta)
MetaDetailPagePhoto=SELECT p.photoid AS id,p.tagline,p.thumb,g.pageid,g.title FROM photos AS p \
    INNER JOIN pages AS g ON g.pageid=p.pageid \
    WHERE tagline LIKE '%$meta%'
MetaSearchPhoto=SELECT x.photoid AS id,p.*,g.* FROM mxphotos AS x \
    INNER JOIN photos AS p ON p.photoid=x.photoid \
    INNER JOIN pages AS g ON g.pageid=p.pageid \
    WHERE metadata IN ($meta)
MetaDetailPhoto=SELECT p.photoid AS id,p.tagline,p.thumb,g.pageid,g.title FROM photos AS p \
    INNER JOIN pages AS g ON g.pageid=p.pageid \
    WHERE tagline LIKE '%$meta%'
MetaDeletePhoto=DELETE FROM mxphotos WHERE photoid=?
MetaUpdatePhoto=INSERT INTO mxphotos (photoid,metadata) VALUES (?,?)
MetaGetPhoto=SELECT * FROM mxphotos WHERE photoid=?




#Core
CheckUser=SELECT userid,nickname,realname,realm,email FROM users WHERE email=? AND password=SHA1(?)
CheckUserOld=SELECT userid,nickname,realname,realm,email FROM users WHERE email=? AND password=OLD_PASSWORD(?)

CreateSession=INSERT INTO sessions (timeout,name,userid,realm,folderid,langcode,optionid,labyrinth) VALUES (?,?,?,?,1,?,?,?)
UpdateSession=UPDATE sessions SET $field=? WHERE labyrinth=?
UpdateSessionX=UPDATE sessions SET timeout=?,name=?,userid=?,realm=?,langcode=?,optionid=? WHERE labyrinth=?
CheckSession=SELECT userid,name,realm,folderid,langcode,optionid FROM sessions WHERE labyrinth=?
SaveSession=UPDATE sessions SET timeout=?,name=?,userid=?,realm=?,optionid=? WHERE labyrinth=?
TimeStampSession=UPDATE sessions SET timeout=? WHERE labyrinth=?
DeleteSessions=DELETE FROM sessions WHERE timeout < ?
DeleteSession=DELETE FROM sessions WHERE labyrinth=?
CountSessions=SELECT DISTINCT s.userid,s.name as realname FROM sessions AS s \
    LEFT JOIN users AS u ON u.userid=s.userid
RetrieveSession=SELECT query FROM sessions WHERE labyrinth=?
StoreSession=UPDATE sessions SET query=? WHERE labyrinth=?


AllRealms=SELECT * FROM realms
GetRealmByID=SELECT * FROM realms WHERE realmid=?
GetRealmByName=SELECT * FROM realms WHERE realm=?


#Folders
AllFolders=SELECT f.*,a.accessname,f2.path as parentname,f.path as foldername FROM folders f \
    INNER JOIN access a ON a.accessid=f.accessid \
    LEFT JOIN folders f2 ON f2.folderid=f.parent \
    ORDER BY foldername
GetFolder=SELECT * FROM folders WHERE folderid=?
GetFolderByPath=SELECT * FROM folders WHERE path=?
GetFolderAccess=SELECT folderid FROM acls WHERE groupid IN ($groups) OR userid=$userid) AND accessid >= $access
InsertFolder=INSERT INTO folders SET path=?,accessid=?,parent=?
UpdateFolder=UPDATE folders SET path=?,accessid=?,parent=? WHERE folderid=?
DeleteFolder=DELETE FROM folders WHERE folderid IN ($ids)

# Access Permissions
AllAccess=SELECT * FROM access WHERE accessid <= ? ORDER BY accessid
GetPermission=SELECT a.folderid,a.groupid,a.userid,a.accessid \
    FROM acls AS a \
    INNER JOIN folders AS f ON a.folderid=f.folderid \
    WHERE a.folderid IN ($folders) AND (a.groupid IN ($groups) \
    OR a.userid = $user) \
    ORDER BY f.parent
UserACLs=SELECT l.*,f.path,a.accessname,b.accessname accesspath FROM acls AS l \
    INNER JOIN access  AS a ON a.accessid=l.accessid \
    INNER JOIN folders AS f ON f.folderid=l.folderid \
    INNER JOIN access  AS b ON b.accessid=f.accessid \
    WHERE l.userid=? ORDER BY f.path
UserACLCheck1=SELECT * FROM acls WHERE userid=? AND folderid=?
UserACLUpdate1=UPDATE acls SET accessid=? WHERE userid=? AND folderid=?
UserACLCheck2=SELECT * FROM acls WHERE userid=? AND aclid=?
UserACLUpdate2=UPDATE acls SET accessid=? WHERE userid=? AND aclid=?
UserACLInsert=INSERT INTO acls (accessid,userid,folderid) VALUES (?,?,?)
UserACLDelete=DELETE FROM acls WHERE userid=? AND accessid=? AND folderid=?
UserACLDefault=UPDATE users SET accessid=? WHERE userid=?
GroupACLs=SELECT * FROM acls AS l \
    INNER JOIN access AS a ON a.accessid=l.accessid \
    INNER JOIN groups AS g ON g.groupid=l.groupid \
    WHERE l.groupid=?
GroupACLSave=INSERT INTO acls (groupid,accessid,folderid) VALUES (?,?,?)
GroupACLDelete=DELETE FROM acls WHERE groupid=? AND accessid=? AND folderid=?

#Groups
GetGroupUserMap=SELECT groupid FROM ixusergroup WHERE type=1 AND linkid=?
GetGroupParents=SELECT groupid FROM ixusergroup WHERE type=2 \
    AND linkid IN ($groups)
LinkedUsers=SELECT i.*,g.groupname FROM ixusergroup AS i \
    INNER JOIN groups AS g ON i.groupid=g.groupid \
    WHERE i.type=1 AND i.linkid=?

#Users
GetUserByID=SELECT u.*,i.link,i.tag,a.accessname \
    FROM users AS u \
    LEFT JOIN images AS i ON u.imageid=i.imageid \
    LEFT JOIN access AS a ON a.accessid=u.accessid \
    WHERE u.userid=?
SearchUserNames=SELECT * FROM users AS u \
    LEFT JOIN images AS i ON u.imageid=i.imageid \
    WHERE (nickname LIKE ? OR realname LIKE ?) $where \
    ORDER BY $order
SearchUsers=SELECT * FROM users AS u \
    LEFT JOIN images AS i ON u.imageid=i.imageid \
    WHERE (nickname LIKE ? OR realname LIKE ?) $where \
    ORDER BY $order
AllUsers=SELECT * FROM users
NewUser=INSERT INTO users (password,accessid,search,realm,nickname,realname,email,imageid) VALUES (SHA1(?),?,?,?,?,?,?,?)
SaveUser=UPDATE users SET nickname=?,realname=?,email=?,imageid=? WHERE userid=?
AdminSaveUser=UPDATE users SET accessid=?,search=?,realm=?,nickname=?,realname=?,email=?,imageid=? WHERE userid=?
SaveUserInfo=UPDATE users SET aboutme=?,url=? WHERE userid=?
DeleteUsers=DELETE FROM users WHERE userid IN ($ids) AND accessid < 5

ChangePassword=UPDATE users SET password=SHA1(?) WHERE userid=?
BanUsers=UPDATE users SET password=? WHERE userid IN ($ids) AND accessid < 5
FindUser=SELECT userid,password,realname FROM users WHERE email = ?

#Images
GetAllImages=SELECT * FROM images
GetImagesByType=SELECT * FROM images WHERE type=? ORDER BY link,tag
GetDefaultImages=SELECT * FROM images WHERE tag='DEFAULT'
GetImageByID=SELECT * FROM images WHERE imageid=?
AddImage=INSERT INTO images (tag,link,type,href,dimensions) VALUES (?,?,?,?,?)
SaveImage=UPDATE images SET tag=?,link=?,type=?,href=?,dimensions=? WHERE imageid=?
DeleteImage=DELETE FROM images WHERE imageid=?
AllImageStock=SELECT * FROM imagestock