array( 'image', 'imagelinks' ), 'fields' => array( 'namespace' => NS_FILE, 'title' => 'img_name', 'value' => 'img_timestamp', 'img_user', 'img_user_text', 'img_description' ), 'conds' => array( 'il_to IS NULL' ), 'join_conds' => array( 'imagelinks' => array( 'LEFT JOIN', 'il_to = img_name' ) ) ); if ( $this->getConfig()->get( 'CountCategorizedImagesAsUsed' ) ) { // Order is significant $retval['tables'] = array( 'image', 'page', 'categorylinks', 'imagelinks' ); $retval['conds']['page_namespace'] = NS_FILE; $retval['conds'][] = 'cl_from IS NULL'; $retval['conds'][] = 'img_name = page_title'; $retval['join_conds']['categorylinks'] = array( 'LEFT JOIN', 'cl_from = page_id' ); $retval['join_conds']['imagelinks'] = array( 'LEFT JOIN', 'il_to = page_title' ); } return $retval; } function usesTimestamps() { return true; } function getPageHeader() { return $this->msg( 'unusedimagestext' )->parseAsBlock(); } protected function getGroupName() { return 'maintenance'; } }