Обновлённый PHP-Fusion Bogatyr / Free CMS PHP-Fusion 7 Bogatyr / Creating your php-pages and plug-ins for PHP Fusion 7 Bogatyr / Новые системные картинки в PHP-Fusion-7 Bogatyr
Russian
В новом PHP-Fusion-7 Bogatyr используются 3 типа системных картинок:
1) картинки темы (из папок /images/ и /forum/ тем)
2) иконки редактирования (из папки /images/). Наиболее часто используемый размер - 16x16px
3) картинки плагинов и панелей
1) картинки темы
Раньше они находились в папках /images/ и /forum/ всех тем.
Теперь их дефолтные значения берутся из папок тем, и дефолтные значения заданы в файле "includes/system_images.php" в массиве $pics_t
$pics_t = array(
//A
//B
"blank" => THEME."images/blank.gif", // 1x1px
//C
//D
"down" => THEME."images/down.gif",
//E
//"edit" => BASEDIR."images/edit.gif", // $pics
//G
//H
//I
// "imagenotfound" => IMAGES."imagenotfound.jpg",
//J
//K
//L
"left" => THEME."images/left.gif",
//M
//O
//P
"panel_on" => THEME."images/panel_on.gif",
"panel_off" => THEME."images/panel_off.gif",
"pollbar" => THEME."images/pollbar.gif",
"printer" => THEME."images/printer.gif",
"right" => THEME."images/right.gif",
//S
//"star" => IMAGES."star.gif", // $pics
//T
//U
"up" => THEME."images/up.gif",
//V
//X
//Y
//Z
//==== THEME."forum/ ====
"pm" => THEME."forum/pm.gif",
//N
"newthread" => THEME."forum/newthread.gif",
//Q
"quote" => THEME."forum/quote.gif",
//R
"reply" => THEME."forum/reply.gif",
//F
"folder" => THEME."forum/folder.gif",
"folderlock" => THEME."forum/folderlock.gif",
"foldernew" => THEME."forum/foldernew.gif",
"forum_edit" => THEME."forum/edit.gif",
"stickythread" => THEME."forum/stickythread.gif",
//W
"web" => THEME."forum/web.gif"
);
|
В массиве $picswh_t можно задать их ширину и выоту (если надо).
2) иконки редактирования
В стандартном PHP-Fusion-7 используются системные иконки из /images/:
/images/edit.gif
/images/delete.gif
/images/imagenotfound.jpg
/images/star.gif
Я сделал возможность использовать на выбор картинки из соответствующей папки в папке /pics/:
/pics/edit/
/pics/delete/
/pics/imagenotfound/
/pics/star/
По умолчанию в файле "includes/system_images.php" эти картинки заданы так:
// EDIT DELETE SAVE BUTTONS
$pics['edit'] = "edit.gif";
$pics['delete'] = "delete.gif";
$pics['star'] = "star.png";
$pics['imagenotfound'] = "imagenotfound.jpg";
|
$pics - массив системных картинок.
$picswh - массив размеров системных картинок.
Я планирую расширять список иконок редактирования, постепенно перенося из /images/ в /pics/ например такие картинки:
watermark.png
rss.gif
dir_up.png
comments.png
star_small.png
f_dell.png
f_edit.png
tick.gif
Настройки системных изображений
Для каждой темы можно переназначить картинки темы на странице "Theme Pics" "/administration/themepics.php?aid=***************" (вкладка меню админки "Theme and Panels").
То есть можно использовать не только дефолтные картинки из /images/ и папок /images/ и /forum/ всех тем, а на выбор из соответствующей папки в папке /pics/.
Настройки системных изображений в файле pics.php в папке темы
если нужно перезадать массивы, то для этого нужно создать "файл pics.php" в папке темы.
В "includes/system_images.php" он используется (если существует):
if (file_exists(THEME."pics.php"))
include THEME."pics.php";
|
Какие массивы можно задать:
$pics - иконки редактирования
$picswh - ширина и высота иконок редактирования
$pics_t - картинки темы
$picswh_t - ширина и высота картинок темы
ключи массивов соответствуют названиям папок в /pics/. Но можно использовать свои ключи для своих плагинов.
Функции "includes/system_images.php"
Большинство важных функций собрано в файле "includes/system_images.php". Рекомендую изучить его внимательною.
function get_image($image, $alt = "", $style = "", $title = "", $atts = "") - выдаёт картинку по имени или в виде тега img
function set_image($name, $new_dir) - добавляет пользовательскую картинку в массив $fusion_images
function redirect_img_dir($source, $target) - меняет урл картинки (при необходимости)
function img16($icon_file="", $icon_alt="", $icon_title="") - выводит тег img иконки 16x16
function img_tag($icon_file="", $icon_alt="", $icon_title="", $icon_width="", $icon_height="") - выводит тег img любой картинки с в шириной и высотой (если они заданы)
function style_bg_img($button_file="", $button_width="16", $button_height="16") - выводит css style с фоновым изображением
function images_slider() - выводит слайдер colorbox на любых страницпх.
3) картинки плагинов и панелей
Открываем "System Images - специальные картинки" - "/administration/picalbums.php?aid=*************" (вкладка "Theme and Panels").
Чтобы использовать картинки для особых задач (например слайдер баннеров в шапке, набор тизеров с подписями), я сделал отдельную таблицу БД для этих целей. Аналогично "Фотогалереи".
В файлах "administration/picalbums.php" и "administration/pics.php" есть такие строки:
if (!defined("DB_PICS")) define("DB_PICS", DB_PREFIX ."pics"); // define("DB_PICS", DB_PREFIX ."photos");
if (!defined("DB_PICALB")) define("DB_PICALB", DB_PREFIX ."picalb"); // define("DB_PICALB", DB_PHOTO_ALBUMS);
if (!defined("PICS")) define("PICS", BASEDIR."pics/");
|
Эти картинки не должны видеть пользователи в "Фотогалереях". Их нет в списке картинок папки /images/. Они находятся в своей специальной папке /pics/.
При создании альбома создаётся папка с нужным именем в папке /pics/, например /pics/tizers/. Каждый альбом - для отдельного плагина. В панели тизеров надо сделать рендомную выборку по нужному альбому.
При добавлении картинок они вносятся в БД и их названия и описания можно использовать как подписи к тизерам.
В данном плагине отключена проверка на размер изображений в пикселях и килобайтах. Также не проверяются расширения картинок.
Загрузка этих каринок по умолчанию работает только для суперадминистратора.
Сделаю: В плагине можно отключить создание иконок для изображений. |