###############################
#### Gallery index routes #####
###############################
phpbbgallery_core_index:
    path: /gallery
    defaults: { _controller: phpbbgallery.core.controller.index:base }
phpbbgallery_core_index_slash:
    path: /gallery/
    defaults: { _controller: phpbbgallery.core.controller.index:base }
phpbbgallery_core_personal:
    path: /gallery/users
    defaults: { _controller: phpbbgallery.core.controller.index:personal, page: 1 }
phpbbgallery_core_personal_page:
    path: /gallery/users/{page}
    defaults: { _controller: phpbbgallery.core.controller.index:personal }
    requirements:
        page: \d+

##################################
#### Album controller routes #####
##################################
phpbbgallery_core_album:
    path: /gallery/album/{album_id}
    defaults: { _controller: phpbbgallery.core.controller.album:base, page: 1 }
    requirements:
        album_id: \d+

phpbbgallery_core_album_page:
    path: /gallery/album/{album_id}/page/{page}
    defaults: { _controller: phpbbgallery.core.controller.album:base }
    requirements:
        album_id: \d+
        page: \d+
phpbbgallery_core_album_upload:
    path: /gallery/album/{album_id}/upload
    defaults: { _controller: phpbbgallery.core.controller.upload:main }
    requirements:
        album_id: \d+
phpbbgallery_core_album_watch:
    path: /gallery/album/{album_id}/watch
    defaults: { _controller: phpbbgallery.core.controller.album:watch }
    requirements:
        album_id: \d+

##################################
#### Image controller routes #####
##################################
phpbbgallery_core_image:
    path: /gallery/image/{image_id}
    defaults: { _controller: phpbbgallery.core.controller.image:base, page: 1 }
    requirements:
        image_id: \d+
phpbbgallery_core_image_page:
    path: /gallery/image/{image_id}/{page}
    defaults: { _controller: phpbbgallery.core.controller.image:base }
    requirements:
        image_id: \d+
        page: \d+
phpbbgallery_core_image_delete:
    path: /gallery/image/{image_id}/delete
    defaults: { _controller: phpbbgallery.core.controller.image:delete }
    requirements:
        image_id: \d+
phpbbgallery_core_image_edit:
    path: /gallery/image/{image_id}/edit
    defaults: { _controller: phpbbgallery.core.controller.image:edit }
    requirements:
        image_id: \d+
phpbbgallery_core_image_report:
    path: /gallery/image/{image_id}/report
    defaults: { _controller: phpbbgallery.core.controller.image:report }
    requirements:
        image_id: \d+
phpbbgallery_core_comment_add:
    path: /gallery/comment/{image_id}/add/{comment_id}
    defaults: { _controller: phpbbgallery.core.controller.comment:add }
    requirements:
        image_id: \d+
        comment_id: \d+
phpbbgallery_core_comment_edit:
    path: /gallery/comment/{image_id}/edit/{comment_id}
    defaults: { _controller: phpbbgallery.core.controller.comment:edit }
    requirements:
        image_id: \d+
        comment_id: \d+
phpbbgallery_core_comment_delete:
    path: /gallery/comment/{image_id}/delete/{comment_id}
    defaults: { _controller: phpbbgallery.core.controller.comment:delete }
    requirements:
        image_id: \d+
        comment_id: \d+
phpbbgallery_core_image_rate:
    path: /gallery/comment/{image_id}/rate
    defaults: { _controller: phpbbgallery.core.controller.comment:rate }
    requirements:
        image_id: \d+

############################
#### Image file routes #####
############################
phpbbgallery_core_image_file_source:
    path: /gallery/image/{image_id}/source
    defaults: { _controller: phpbbgallery.core.controller.file:source }
    requirements:
        image_id: \d+
phpbbgallery_core_image_file_medium:
    path: /gallery/image/{image_id}/medium
    defaults: { _controller: phpbbgallery.core.controller.file:medium }
    requirements:
        image_id: \d+
phpbbgallery_core_image_file_mini:
    path: /gallery/image/{image_id}/mini
    defaults: { _controller: phpbbgallery.core.controller.file:mini }
    requirements:
        image_id: \d+

###################################
#### Moderate overview routes #####
###################################
phpbbgallery_core_moderate:
    path: /gallery/moderate
    defaults: { _controller: phpbbgallery.core.controller.moderate:base, album_id: 0 }
phpbbgallery_core_moderate_queue_approve:
    path: /gallery/moderate/approve
    defaults: { _controller: phpbbgallery.core.controller.moderate:queue_approve, page: 1, album_id: 0 }
phpbbgallery_core_moderate_queue_approve_page:
    path: /gallery/moderate/approve/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:queue_approve, album_id: 0}
    requirements:
        page: \d+
phpbbgallery_core_moderate_action_log:
    path: /gallery/moderate/actions
    defaults: { _controller: phpbbgallery.core.controller.moderate:action_log, page: 1, album_id: 0 }
phpbbgallery_core_moderate_action_log_page:
    path: /gallery/moderate/actions/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:action_log, album_id: 0}
    requirements:
        page: \d+
phpbbgallery_core_moderate_reports:
    path: /gallery/moderate/reports
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, page: 1, album_id: 0, status: 1 }
phpbbgallery_core_moderate_reports_page:
    path: /gallery/moderate/reports/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, album_id: 0, status: 1}
    requirements:
        page: \d+
phpbbgallery_core_moderate_reports_closed:
    path: /gallery/moderate/reports_closed
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, page: 1, album_id: 0, status: 0 }
phpbbgallery_core_moderate_reports_closed_page:
    path: /gallery/moderate/reports_closed/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, album_id: 0, status: 0}
    requirements:
        page: \d+

################################
#### Moderate album routes #####
################################
phpbbgallery_core_moderate_album:
    path: /gallery/moderate/album/{album_id}
    defaults: { _controller: phpbbgallery.core.controller.moderate:base }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_queue_approve_album:
    path: /gallery/moderate/album/{album_id}/approve
    defaults: { _controller: phpbbgallery.core.controller.moderate:queue_approve, page: 1 }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_queue_approve_album_page:
    path: /gallery/moderate/album/{album_id}/approve/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:queue_approve}
    requirements:
        album_id: \d+
        page: \d+
phpbbgallery_core_moderate_action_log_album:
    path: /gallery/moderate/album/{album_id}/actions
    defaults: { _controller: phpbbgallery.core.controller.moderate:action_log, page: 1 }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_action_log_album_page:
    path: /gallery/moderate/album/{album_id}/actions/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:action_log}
    requirements:
        album_id: \d+
        page: \d+
phpbbgallery_core_moderate_reports_album:
    path: /gallery/moderate/album/{album_id}/reports
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, page: 1, status: 1 }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_reports_album_page:
    path: /gallery/moderate/album/{album_id}/reports/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, status: 1}
    requirements:
        album_id: \d+
        page: \d+
phpbbgallery_core_moderate_reports_closed_album:
    path: /gallery/moderate/album/{album_id}/reports_closed
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, page: 1, status: 0 }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_reports_closed_album_page:
    path: /gallery/moderate/album/{album_id}/reports_closed/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:reports, status: 0}
    requirements:
        album_id: \d+
        page: \d+
phpbbgallery_core_moderate_view:
    path: /gallery/moderate/album/{album_id}/overview
    defaults: { _controller: phpbbgallery.core.controller.moderate:album_overview, page: 1 }
    requirements:
        album_id: \d+
phpbbgallery_core_moderate_view_page:
    path: /gallery/moderate/album/{album_id}/overview/{page}
    defaults: { _controller: phpbbgallery.core.controller.moderate:album_overview }
    requirements:
        album_id: \d+
        page: \d+

################################
#### Moderate image routes #####
################################
phpbbgallery_core_moderate_image:
    path: /gallery/moderate/image/{image_id}
    defaults: { _controller: phpbbgallery.core.controller.moderate:image }
    requirements:
        image_id: \d+
phpbbgallery_core_moderate_image_approve:
    path: /gallery/moderate/image/{image_id}/approve
    defaults: { _controller: phpbbgallery.core.controller.moderate:approve }
    requirements:
        image_id: \d+
phpbbgallery_core_moderate_image_unapprove:
    path: /gallery/moderate/image/{image_id}/unapprove
    defaults: { _controller: phpbbgallery.core.controller.moderate:unapprove }
    requirements:
        image_id: \d+
phpbbgallery_core_moderate_image_move:
    path: /gallery/moderate/image/{image_id}/move
    defaults: { _controller: phpbbgallery.core.controller.moderate:move }
    requirements:
        image_id: \d+
phpbbgallery_core_moderate_image_lock:
    path: /gallery/moderate/image/{image_id}/lock
    defaults: { _controller: phpbbgallery.core.controller.moderate:lock }
    requirements:
        image_id: \d+

########################
#### Search routes #####
########################
phpbbgallery_core_search_random:
    path: /gallery/search/random
    defaults: { _controller: phpbbgallery.core.controller.search:random }
phpbbgallery_core_search_recent:
    path: /gallery/search/recent
    defaults: { _controller: phpbbgallery.core.controller.search:recent, page: 1 }
phpbbgallery_core_search_recent_page:
    path: /gallery/search/recent/{page}
    defaults: { _controller: phpbbgallery.core.controller.search:recent }
    requirements:
        page: \d+
phpbbgallery_core_search_commented:
    path: /gallery/search/commented
    defaults: { _controller: phpbbgallery.core.controller.search:recent_comments, page: 1 }
phpbbgallery_core_search_commented_page:
    path: /gallery/search/commented/{page}
    defaults: { _controller: phpbbgallery.core.controller.search:recent_comments }
    requirements:
        page: \d+
phpbbgallery_core_search_egosearch:
    path: /gallery/search/self
    defaults: { _controller: phpbbgallery.core.controller.search:ego_search, page: 1 }
phpbbgallery_core_search_egosearch_page:
    path: /gallery/search/self/{page}
    defaults: { _controller: phpbbgallery.core.controller.search:ego_search }
    requirements:
        page: \d+
phpbbgallery_core_search_toprated:
    path: /gallery/search/toprated
    defaults: { _controller: phpbbgallery.core.controller.search:toprated, page: 1 }
phpbbgallery_core_search_toprated_page:
    path: /gallery/search/toprated/{page}
    defaults: { _controller: phpbbgallery.core.controller.search:toprated }
    requirements:
        page: \d+
phpbbgallery_core_search:
    path: /gallery/search
    defaults: { _controller: phpbbgallery.core.controller.search:base, page: 1 }
phpbbgallery_core_search_page:
    path: /gallery/search/{page}
    defaults: { _controller: phpbbgallery.core.controller.search:base }
    requirements:
        page: \d+
