> 6 ) + 192 ) . chr( ( $num&63 ) + 128 ); if ( $num < 65536 ) return chr( ( $num >> 12 ) + 224 ) . chr( ( ( $num >> 6 )&63 ) + 128 ) . chr( ( $num&63 ) + 128 ); if ( $num < 2097152 ) return chr( ( $num >> 18 ) + 240 ) . chr( ( ( $num >> 12 )&63 ) + 128 ) . chr( ( ( $num >> 6 )&63 ) + 128 ) . chr( ( $num&63 ) + 128 ); return ''; } /** * Called for AJAX watch/unwatch requests. * @param $pagename Prefixed title string for page to watch/unwatch * @param $watch String 'w' to watch, 'u' to unwatch * @return String '' or '' on successful watch or unwatch, * respectively, followed by an HTML message to display in the alert box; or * '' on error */ function wfAjaxWatch( $pagename = "", $watch = "" ) { if ( wfReadOnly() ) { // redirect to action=(un)watch, which will display the database lock // message return ''; } if ( 'w' !== $watch && 'u' !== $watch ) { return ''; } $watch = 'w' === $watch; $title = Title::newFromDBkey( $pagename ); if ( !$title ) { // Invalid title return ''; } $article = new Article( $title ); $watching = $title->userIsWatching(); if ( $watch ) { if ( !$watching ) { $dbw = wfGetDB( DB_MASTER ); $dbw->begin(); $ok = $article->doWatch(); $dbw->commit(); } } else { if ( $watching ) { $dbw = wfGetDB( DB_MASTER ); $dbw->begin(); $ok = $article->doUnwatch(); $dbw->commit(); } } // Something stopped the change if ( isset( $ok ) && !$ok ) { return ''; } if ( $watch ) { return '' . wfMsgExt( 'addedwatchtext', array( 'parse' ), $title->getPrefixedText() ); } else { return '' . wfMsgExt( 'removedwatchtext', array( 'parse' ), $title->getPrefixedText() ); } } /** * Called in some places (currently just extensions) * to get the thumbnail URL for a given file at a given resolution. */ function wfAjaxGetThumbnailUrl( $file, $width, $height ) { $file = wfFindFile( $file ); if ( !$file || !$file->exists() ) return null; $url = $file->getThumbnail( $width, $height )->url; return $url; } /** * Called in some places (currently just extensions) * to get the URL for a given file. */ function wfAjaxGetFileUrl( $file ) { $file = wfFindFile( $file ); if ( !$file || !$file->exists() ) return null; $url = $file->getUrl(); return $url; }