本文整理汇总了PHP中LocalFile::getTitle方法的典型用法代码示例。如果您正苦于以下问题:PHP LocalFile::getTitle方法的具体用法?PHP LocalFile::getTitle怎么用?PHP LocalFile::getTitle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LocalFile
的用法示例。
在下文中一共展示了LocalFile::getTitle方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkPermissions
/**
* Checks that the user has permissions to perform this revert.
* Dies with usage message on inadequate permissions.
* @param $user User The user to check.
*/
protected function checkPermissions($user)
{
$title = $this->file->getTitle();
$permissionErrors = array_merge($title->getUserPermissionsErrors('edit', $user), $title->getUserPermissionsErrors('upload', $user));
if ($permissionErrors) {
$this->dieUsageMsg($permissionErrors[0]);
}
}
示例2: processUpload
/**
* Do the upload.
* Checks are made in SpecialUpload::execute()
*/
protected function processUpload()
{
// Fetch the file if required
$status = $this->mUpload->fetchFile();
if (!$status->isOK()) {
$this->showUploadError($this->getOutput()->parse($status->getWikiText()));
return;
}
if (!Hooks::run('UploadForm:BeforeProcessing', array(&$this))) {
wfDebug("Hook 'UploadForm:BeforeProcessing' broke processing the file.\n");
// This code path is deprecated. If you want to break upload processing
// do so by hooking into the appropriate hooks in UploadBase::verifyUpload
// and UploadBase::verifyFile.
// If you use this hook to break uploading, the user will be returned
// an empty form with no error message whatsoever.
return;
}
// Upload verification
$details = $this->mUpload->verifyUpload();
if ($details['status'] != UploadBase::OK) {
$this->processVerificationError($details);
return;
}
// Verify permissions for this title
$permErrors = $this->mUpload->verifyTitlePermissions($this->getUser());
if ($permErrors !== true) {
$code = array_shift($permErrors[0]);
$this->showRecoverableUploadError($this->msg($code, $permErrors[0])->parse());
return;
}
$this->mLocalFile = $this->mUpload->getLocalFile();
// Check warnings if necessary
if (!$this->mIgnoreWarning) {
$warnings = $this->mUpload->checkWarnings();
if ($this->showUploadWarning($warnings)) {
return;
}
}
// This is as late as we can throttle, after expected issues have been handled
if (UploadBase::isThrottled($this->getUser())) {
$this->showRecoverableUploadError($this->msg('actionthrottledtext')->escaped());
return;
}
// Get the page text if this is not a reupload
if (!$this->mForReUpload) {
$pageText = self::getInitialPageText($this->mComment, $this->mLicense, $this->mCopyrightStatus, $this->mCopyrightSource, $this->getConfig());
} else {
$pageText = false;
}
$status = $this->mUpload->performUpload($this->mComment, $pageText, $this->mWatchthis, $this->getUser());
if (!$status->isGood()) {
$this->showUploadError($this->getOutput()->parse($status->getWikiText()));
return;
}
// Success, redirect to description page
$this->mUploadSuccessful = true;
Hooks::run('SpecialUploadComplete', array(&$this));
$this->getOutput()->redirect($this->mLocalFile->getTitle()->getFullURL());
}
示例3: purgeVideoInfoCache
/**
* Clear cache of video info specific to given file
* @param LocalFile $file
* @return bool
*/
public static function purgeVideoInfoCache(\LocalFile $file)
{
$mediaService = new MediaQueryService();
$mediaService->clearCacheTotalVideos();
if (!$file->isLocal()) {
$mediaService->clearCacheTotalPremiumVideos();
}
if (!empty(F::app()->wg->UseVideoVerticalFilters)) {
VideoInfoHooksHelper::clearCategories($file->getTitle());
}
return true;
}
示例4: executeImage
private function executeImage()
{
if (empty($this->mParams['tempName'])) {
$this->dieUsageMsg('The tempName parameter must be set');
}
$tempFile = new FakeLocalFile(Title::newFromText($this->mParams['tempName'], 6), RepoGroup::singleton()->getLocalRepo());
$duplicate = $this->getFileDuplicate($tempFile->getLocalRefPath());
if ($duplicate) {
return array('title' => $duplicate->getTitle()->getText());
} else {
$title = $this->getUniqueTitle(wfStripIllegalFilenameChars($this->mParams['title']));
if (isset($this->mParams['license'])) {
$pageText = SpecialUpload::getInitialPageText('', $this->mParams['license']);
}
$file = new LocalFile($title, RepoGroup::singleton()->getLocalRepo());
$file->upload($tempFile->getPath(), '', $pageText ? $pageText : '');
return array('title' => $file->getTitle()->getText());
}
}
示例5: purgeFromArchiveTable
protected function purgeFromArchiveTable(LocalRepo $repo, LocalFile $file)
{
$dbr = $repo->getSlaveDB();
$res = $dbr->select('filearchive', array('fa_archive_name'), array('fa_name' => $file->getName()), __METHOD__);
foreach ($res as $row) {
if ($row->fa_archive_name === null) {
// Was not an old version (current version names checked already)
continue;
}
$ofile = $repo->newFromArchiveName($file->getTitle(), $row->fa_archive_name);
// If there is an orphaned storage file still there...delete it
if (!$file->exists() && $repo->fileExists($ofile->getPath())) {
$dpath = $this->getDeletedPath($repo, $ofile);
if ($repo->fileExists($dpath)) {
// Sanity check to avoid data loss
$repo->getBackend()->delete(array('src' => $ofile->getPath()));
$this->output("Deleted orphan file: {$ofile->getPath()}.\n");
} else {
$this->error("File was not deleted: {$ofile->getPath()}.\n");
}
}
$file->purgeOldThumbnails($row->fa_archive_name);
}
}
示例6: insertImage
protected function insertImage($name, $mwname, $result)
{
global $wgRequest, $wgImageMagickConvertCommand, $wgServer;
if (!$result) {
$result = array();
} elseif ($result['error']) {
return $result;
}
$fromPage = $wgRequest->getVal('viapage');
if (!empty($mwname) && !empty($name)) {
$name = trim(urldecode($name));
$dateTime = new DateTime();
$mwDate = wfTimestamp(TS_MW);
// Mediawiki timestamp: 'YmdHis'
list($first, $ext) = self::splitFilenameExt($name);
$ext = strtolower($ext);
$validExts = array('GIF', 'JPG', 'JPEG', 'PNG');
if (!in_array(strtoupper($ext), $validExts)) {
$result['error'] = 'Error: Invalid file extension ' . strtoupper($ext) . '. Valid extensions are:';
foreach ($validExts as $validExt) {
$result['error'] .= ' ' . strtoupper($validExt);
}
$result['error'] .= '.';
return $result;
}
$saveName = false;
$titleExists = false;
$suffixNum = 1;
while (!$saveName || $titleExists) {
$saveName = 'User Completed Image ' . $fromPage . ' ' . $dateTime->format('Y.m.d H.i.s') . ' ' . $suffixNum . '.' . $ext;
$title = Title::makeTitleSafe(NS_IMAGE, $saveName);
$newFile = true;
$titleExists = $title->exists();
$suffixNum++;
}
$temp_file = new TempLocalImageFile(Title::newFromText($mwname, NS_IMAGE), RepoGroup::singleton()->getLocalRepo());
if (!$temp_file || !$temp_file->exists()) {
$result['error'] = 'Error: A server error has occurred. Please try again.';
return $result;
}
// Image orientation is a bit wonky on some mobile devices; use ImageMagick's auto-orient to try fixing it.
$tempFilePath = $temp_file->getPath();
$cmd = $wgImageMagickConvertCommand . ' ' . $tempFilePath . ' -auto-orient ' . $tempFilePath;
exec($cmd);
// Use a CC license
$comment = '{{Self}}';
$file = new LocalFile($title, RepoGroup::singleton()->getLocalRepo());
$file->upload($tempFilePath, $comment, $comment);
if (!$file || !$file->exists()) {
$result['error'] = 'Error: A server error has occurred. Please try again.';
return $result;
}
$temp_file->delete('');
$fileTitle = $file->getTitle();
$fileURL = $file->url;
$thumbURL = '';
$thumb = $file->getThumbnail(200, -1, true, true);
if (!$thumb) {
$result['error'] = 'Error: A server error has occurred. Please try again.';
$file->delete('');
return $result;
}
$thumbURL = $thumb->url;
$result['titleText'] = $fileTitle->getText();
$result['titleDBkey'] = substr($fileTitle->getDBkey(), 21);
// Only keep important info
$result['titlePreText'] = '/' . $fileTitle->getPrefixedText();
$result['titleArtID'] = $fileTitle->getArticleID();
$result['timestamp'] = $mwDate;
$result['fromPage'] = $wgRequest->getVal('viapage');
$result['thumbURL'] = $thumbURL;
$result['fileURL'] = $wgServer . $fileURL;
}
return $result;
}
示例7: saveHeroData
public function saveHeroData()
{
wfProfileIn(__METHOD__);
$success = false;
$this->getResponse()->setFormat('json');
$wikiData = $this->request->getVal('wikiData', []);
$wikiDataModel = new WikiDataModel(Title::newMainPage()->getText());
$wikiDataModel->setFromAttributes($wikiData);
$imageChanged = !empty($wikiData['imagechanged']);
$imageName = !empty($wikiData['imagename']) ? $wikiData['imagename'] : null;
if ($imageChanged && $imageName) {
wfProfileIn(__METHOD__ . '::uploadStart');
$stash = RepoGroup::singleton()->getLocalRepo()->getUploadStash();
$temp_file = $stash->getFile($imageName);
$file = new LocalFile(static::HERO_IMAGE_FILENAME, RepoGroup::singleton()->getLocalRepo());
$status = $file->upload($temp_file->getPath(), '', '');
wfProfileIn(__METHOD__ . '::uploadEnd');
if ($status->isOK()) {
$wikiDataModel->setImageName($file->getTitle()->getDBKey());
$wikiDataModel->setImagePath($file->getFullUrl());
$success = $this->setWikiData($wikiDataModel);
//clean up stash
$stash->removeFile($imageName);
}
} else {
$wikiDataModel->setImageNameFromProps();
$success = $this->setWikiData($wikiDataModel);
}
if (!$success) {
$wikiDataModel->getFromProps();
}
$this->getResponse()->setVal('success', $success);
$this->getResponse()->setVal('wikiData', $wikiDataModel);
wfProfileOut(__METHOD__);
}
示例8: onFileDeleteComplete
/**
* Hook: delete video and clear cache when file is deleted
* @param LocalFile $file
* @param $oldimage
* @param $article
* @param User $user
* @param $reason
* @return true
*/
public static function onFileDeleteComplete(&$file, $oldimage, $article, $user, $reason)
{
if (!F::build('VideoInfoHelper', array(), 'videoInfoExists')) {
return true;
}
$title = $file->getTitle();
if ($title instanceof Title && F::build('WikiaFileHelper', array($file), 'isFileTypeVideo')) {
if ($file->isLocal()) {
$videoData = array('videoTitle' => $title->getDBKey());
$videoInfo = F::build('VideoInfo', array($videoData));
$videoInfo->deleteVideo();
$mediaService = F::build('MediaQueryService');
$mediaService->clearCacheTotalVideos();
}
}
return true;
}