Extension:ImageFooter/ru
From MediaWiki.org
|
ImageFooter Статус: beta |
|
|---|---|
| Используемые hook'и | UploadVerification |
| Описание | Добавляет пометку к каждому загруженному изображению |
| Автор(ы) | VolodyA! V Anarhist (Beta_M talk) |
| Версия | '0.1' |
| Лицензия | GPL v 3 |
| Ссылка для скачивания | no link |
Contents |
[edit] Для чего нужно это расширение?
Это расширение позволяет добавить текстовую пометку к каждому загруженному изображению (работает только с изображениями, поддерживаемыми библиотекой GD).
[edit] Использование
[edit] Инструкции
Скопируйте програмный код и вставьте его в $IP/extensions/ImageFooter/ImageFooter.php. Внимание: $IP — это директория установки MediaWiki, это там-же где находится файл LocalSettings.php. Найдите в интернете FreeSansBold.ttf и закачайте этот файл в $IP/extensions/ImageFooter/
[edit] Установка
Чтобы установить данное расширение, добавьте в файл LocalSettings.php следующие строки:
require_once( "$IP/extensions/ImageFooter/ImageFooter.php" ); $wgImageFooterString='Какая-то пометка'; // что именно написать на изображениях $wgImageFooterOffset= array('up' => 9, 'left' => 180); // сдвиг вверх и влево от нижнего правого угла
[edit] Параметры конфигурации
- $wgImageFooterString – это надпись добавляемая на каждое изображение. Значение по умолчанию: $wgSitename.
- $wgImageFooterOffest – это список из двух элементов 'up' (вверх) и 'left' (влево), указывающих отклонение от нижнего правого угла. Надпись начнётся на этих координатах.
[edit] Код
<?php // Released under GPLv3 if ( ! defined( 'MEDIAWIKI' ) ) die(); if ( is_null($wgImageFooterString) || $wgImageFooterString=='' ) $wgImageFooterString=$wgSitename; // Setting up information for Special:Version page $wgExtensionCredits['media'][] = array( 'name' => 'Image Footer', 'author' =>'VolodyA! V Anarhist', 'url' => 'http://eng.anarchopedia.org/User:Beta_M', 'version' => '0.1', 'description' => 'Adds a footer to every image that is uploaded.' ); $wgHooks['UploadVerification'][] = array('fnImageFooterHook1'); function fnImageFooterHook1($saveName, $tempName, &$error) { global $IP, $wgImageFooterString, $wgImageFooterOffset; echo $wgImageFooterOffset['left']; if(list($width, $height, $type, $attr) = getimagesize($tempName)) { if(!imagecreatefromtype($tempName, $type, $img)) { $error = 'Unable to open the file in ImageFooter extension, type is '.$type.' img is '.$img; return false; } $black = imagecolorallocate($img, 0, 0, 0); imagettftext($img, 12, 0, $width-$wgImageFooterOffset['left'], $height-$wgImageFooterOffset['up'], $black, $IP.'/extensions/ImageFooter/FreeSansBold.ttf', $wgImageFooterString); unlink($tempName); if(file_exists($tempName)) { $error = 'File '.$tempName.' exists'; return false; } if(!imagesavebytype($img, $tempName, $type)) { $error = 'Error saving file'; return false; } } else // probably not even an image { return true; } return true; } // opens an image regardless of the type function imagecreatefromtype($file, $type, &$img) { switch($type) { case IMG_GIF: // gif $img = imagecreatefromgif($file); break; case IMG_JPG: // jpeg $img = imagecreatefromjpeg($file); break; case IMG_PNG: // png $img = imagecreatefrompng($file); break; case IMG_WBMP:// wbmp $img = imagecreatefromwbmp($file); break; case IMG_XPM:// xbm $img = imagecreatefromxbm($file); break; default: return false; break; // for posterity only } return true; } // saves an image regardless of the type function imagesavebytype($img, $file, $type) { switch($type) { case IMG_GIF: // gif return imagegif($img, $file); case IMG_JPG: // jpeg return imagejpeg($img, $file); case IMG_PNG: // png return imagepng($img, $file); case IMG_WBMP:// wbmp return imagewbmp($img, $file); case IMG_XPM:// xbm return imagexbm($img, $file); } return false; }
| Язык: | English • Русский |
|---|
