Иногда админу нужно исправить изображение на сайте, например фото вверх ногами или лишние детали.
Что бы не скачивать фото на компьютер, можно загружать фото в фоторедактор Pixlr pixlr.com/express/ там менять и возвращать на место.
Показываю на примере публичной галереи, компонент "Фото"
1/ Создаём в админке статью
в тело статьи вставляем файл pixlr.php
ниже я исхожу из того что урл статьи на вашем сайте site.ru/pixlr.html
в настройках статьи устанавливаем доступ только для админа.
2/ В шаблоне templates/components/com_photos_view_photo.tpl
в любом месте вставлем ссылку
{if $is_admin}
<a class="iframe cboxElement" href="http://pixlr.com/express/?s=c&image=http://site.ru/images/photos/{$photo.file}&title={$photo.file}&target=http://site.ru/pixlr.html&exit=http://site.ru/photos/photo{$photo.id}.html">Изменить на PIXLR</a>
{/if}
заменить site.ru на свой сайт
заменить site.ru/pixlr.html на ссылку на вашу страницу которую вы создали пять минут назад.
3/ создать php файл pixlr.php
Содержимое файла
Поместить файл pixlr.php в папку includes/myphp
Важно: это только для админа. Предоставлять эту функцию обычным пользователям, думаю, не безопасно, поэтому в коде pixlr.php имеется проверка на админа, для тех, кто забыл или не захотел проставить правильные права доступа к самой статье.
После редактирования вы получаете новый файлизображения с новым именем файла. Если где то вставлена прямая ссылка на прежний файл изображения она будет недоступна. Я решил что лучше менять имя файла из за того, что прежний файл закэширован браузером и результат могут увидеть не все.
Как то так. У меня все работает, проблем не обнаружил.
Что бы не скачивать фото на компьютер, можно загружать фото в фоторедактор Pixlr pixlr.com/express/ там менять и возвращать на место.
Показываю на примере публичной галереи, компонент "Фото"
1/ Создаём в админке статью
в тело статьи вставляем файл pixlr.php
ниже я исхожу из того что урл статьи на вашем сайте site.ru/pixlr.html
в настройках статьи устанавливаем доступ только для админа.
2/ В шаблоне templates/components/com_photos_view_photo.tpl
в любом месте вставлем ссылку
{if $is_admin}
<a class="iframe cboxElement" href="http://pixlr.com/express/?s=c&image=http://site.ru/images/photos/{$photo.file}&title={$photo.file}&target=http://site.ru/pixlr.html&exit=http://site.ru/photos/photo{$photo.id}.html">Изменить на PIXLR</a>
{/if}
заменить site.ru на свой сайт
заменить site.ru/pixlr.html на ссылку на вашу страницу которую вы создали пять минут назад.
3/ создать php файл pixlr.php
Содержимое файла
<?php $inUser = cmsUser::getInstance(); $inDB = cmsDatabase::getInstance(); if($inUser->is_admin){ //получаем файл от pixlr $imagefile = $_GET['image']; $imagetitle = $_GET['title']; if($imagefile || $imagetitle){ $imagetitleoldname = $imagetitle.'.jpg'; //сохраняем обработанное изображение присвоим ему новое имя файла //вносим новое имя файла в базу $inDB->query("UPDATE cms_photo_files SET file = '$newfilename' WHERE file = '$imagetitleoldname'"); cmsCore::includeGraphics(); //создаём медиум копию 450 и 800 ширина и высота, false - не обрезать в квадрат, false - не наносить водяной знак @img_resize('images/photos/'.$newfilename, 'images/photos/medium/'.$newfilename, 450, 800, false, false); //создаём маленькую превью копию этого же изображения @img_resize('images/photos/'.$newfilename, 'images/photos/small/'.$newfilename, 96, 96, true, false); //удаляем старые файлы echo 'Оригинал старого файла удалён '; } echo 'Medium file старого файла удалён '; } echo 'Small file старого файла удалён '; } echo 'Дело сделано'; } } else { echo 'Готов работать, шеф!'; } } else { echo 'Ты кто такой? Давай, до свидания.'; } ?>
Поместить файл pixlr.php в папку includes/myphp
Важно: это только для админа. Предоставлять эту функцию обычным пользователям, думаю, не безопасно, поэтому в коде pixlr.php имеется проверка на админа, для тех, кто забыл или не захотел проставить правильные права доступа к самой статье.
После редактирования вы получаете новый файлизображения с новым именем файла. Если где то вставлена прямая ссылка на прежний файл изображения она будет недоступна. Я решил что лучше менять имя файла из за того, что прежний файл закэширован браузером и результат могут увидеть не все.
Как то так. У меня все работает, проблем не обнаружил.