specialimagelist.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 122 行

PHP
122
字号
<?php/** * * @package MediaWiki * @subpackage SpecialPage *//** * */function wfSpecialImagelist() {	global $wgUser, $wgOut, $wgLang, $wgContLang, $wgRequest, $wgMiserMode;	$sort = $wgRequest->getVal( 'sort' );	$wpIlMatch = $wgRequest->getText( 'wpIlMatch' );	$dbr =& wfGetDB( DB_SLAVE );	$image = $dbr->tableName( 'image' );	$sql = "SELECT img_size,img_name,img_user,img_user_text," .	  "img_description,img_timestamp FROM $image";	if ( !$wgMiserMode && !empty( $wpIlMatch ) ) {		$nt = Title::newFromUrl( $wpIlMatch );		if($nt ) {			$m = $dbr->strencode( strtolower( $nt->getDBkey() ) );			$m = str_replace( "%", "\\%", $m );			$m = str_replace( "_", "\\_", $m );			$sql .= " WHERE LCASE(img_name) LIKE '%{$m}%'";		}	}	if ( "bysize" == $sort ) {		$sql .= " ORDER BY img_size DESC";	} else if ( "byname" == $sort ) {		$sql .= " ORDER BY img_name";	} else {		$sort = "bydate";		$sql .= " ORDER BY img_timestamp DESC";	}	list( $limit, $offset ) = wfCheckLimits( 50 );	$lt = $wgLang->formatNum( "${limit}" );	$sql .= " LIMIT {$limit}";	$wgOut->addWikiText( wfMsg( 'imglegend' ) );	$wgOut->addHTML( wfMsgExt( 'imagelisttext', array('parse'), $lt, wfMsg( $sort ) ) );	$sk = $wgUser->getSkin();	$titleObj = Title::makeTitle( NS_SPECIAL, "Imagelist" );	$action = $titleObj->escapeLocalURL( "sort={$sort}&limit={$limit}" );	if ( !$wgMiserMode ) {		$wgOut->addHTML( "<form id=\"imagesearch\" method=\"post\" action=\"" .		  "{$action}\">" .			wfElement( 'input',				array(					'type' => 'text',					'size' => '20',					'name' => 'wpIlMatch',					'value' => $wpIlMatch, )) .			wfElement( 'input',				array(					'type' => 'submit',					'name' => 'wpIlSubmit',					'value' => wfMsg( 'ilsubmit'), )) .			'</form>' );	}	$here = Title::makeTitle( NS_SPECIAL, 'Imagelist' );	foreach ( array( 'byname', 'bysize', 'bydate') as $sorttype ) {		$urls = null;		foreach ( array( 50, 100, 250, 500 ) as $num ) {			$urls[] = $sk->makeKnownLinkObj( $here, $wgLang->formatNum( $num ),		  "sort={$sorttype}&limit={$num}&wpIlMatch=" . urlencode( $wpIlMatch ) );		}		$sortlinks[] = wfMsgExt(			'showlast',			array( 'parseinline', 'replaceafter' ),			implode($urls, ' | '),			wfMsgExt( $sorttype, array('escape') )		);	}	$wgOut->addHTML( implode( $sortlinks, "<br />\n") . "\n\n<hr />" );	// lines	$wgOut->addHTML( '<p>' );	$res = $dbr->query( $sql, "wfSpecialImagelist" );	while ( $s = $dbr->fetchObject( $res ) ) {		$name = $s->img_name;		$ut = $s->img_user_text;		if ( 0 == $s->img_user ) {			$ul = $ut;		} else {			$ul = $sk->makeLinkObj( Title::makeTitle( NS_USER, $ut ), $ut );		}		$dirmark = $wgContLang->getDirMark(); // to keep text in correct direction		$ilink = "<a href=\"" . htmlspecialchars( Image::imageUrl( $name ) ) .		  "\">" . strtr(htmlspecialchars( $name ), '_', ' ') . "</a>";		$nb = wfMsgExt( 'nbytes', array( 'parsemag', 'escape'),			$wgLang->formatNum( $s->img_size ) );		$desc = $sk->makeKnownLinkObj( Title::makeTitle( NS_IMAGE, $name ),		  wfMsg( 'imgdesc' ) );		$date = $wgLang->timeanddate( $s->img_timestamp, true );		$comment = $sk->commentBlock( $s->img_description );		$l = "({$desc}) {$dirmark}{$ilink} . . {$dirmark}{$nb} . . {$dirmark}{$ul}".			" . . {$dirmark}{$date} . . {$dirmark}{$comment}<br />\n";		$wgOut->addHTML( $l );	}	$dbr->freeResult( $res );	$wgOut->addHTML( '</p>' );}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?