Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Отображение строк в "информации о файле".  (Read 6352 times)

0 Members and 1 Guest are viewing this topic.

ARTni

  • Coppermine newbie
  • Offline Offline
  • Posts: 11
    • ARTni орг - графика и живопись

Доброго времени суток.

Coppermine     1.4.18 (stable)

Задачка: на странице отображения изображения (displayimage) в блоке "информация о файле" отображать только те строки, которые нужны.
(сейчас наиболее актуально _не_ отображать строку "Имя файла:   ***.jpg")

Дошел до функции function theme_html_picinfo(&$info) в themes.inc.php.
И вывода инфы через foreach ($info as $key => $value) $html .= sprintf($template, $key, $value);
На этом и остановился. Куда бы копать дальше?

Буду благодарен за подсказку решения вопроса.

Спасибо уделенное время и удачного дня.

P.S. на самом деле, более широкая версия этой задачки - это вывод блока picinfo в отдельное место в шаблоне template.html при помощи конструкции типа {PIC_INFO}, но это, насколько понимаю просто в лоб не реализуется и работа для программера. Буду рад, если ошибаюсь и где-то есть похожее решение.
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону

Если копать в том направлении, где ты сейчас, то запиши для отладки
Code: [Select]
print_r ($info);так ты узнаешь какой элемент массива выводит имя файла, потом сможешь добавить уловие проверки на наличие этого элемента
Code: [Select]
if (!"имя_файла") $html .= sprintf($template, $key, $value);
Блок picinfo можно переместить, покопайся в англ. ветке, там это обсуждали.
Logged

ARTni

  • Coppermine newbie
  • Offline Offline
  • Posts: 11
    • ARTni орг - графика и живопись

2Alex Revo:

Спасиб - попробую решить задачку через условие.

По поводу picinfo английскую ветку просматривал, но там встречал только перенос название+описание изображения. Может и пропустил тему про то, что меня интересует - пойду поищу еще.
Logged

ARTni

  • Coppermine newbie
  • Offline Offline
  • Posts: 11
    • ARTni орг - графика и живопись

В английских ветках первую задачку все решают через правку напрямую displayimage.php (а не через свою тему).
примеры:
http://forum.coppermine-gallery.net/index.php/topic,23700.0.html
http://forum.coppermine-gallery.net/index.php/topic,3411.html

хм. по поводу picinfo действительно есть похожие темы (наверно по другим ключевым словам искал)
пример:
http://forum.coppermine-gallery.net/index.php/topic,39523.0.html

попробую - напишу, что получилось
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

В displayimage.php есть такая строка:
Code: [Select]
$info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);
Она из функции:
Code: [Select]
// Display picture information
function html_picinfo()

Используется она в файле:
./include/themes.inc.php

Вот в этом блоке:
Code: [Select]
if (!function_exists('theme_html_picinfo')) {  //{THEMES}
function theme_html_picinfo(&$info)

Для изображений нужен блок:
Code: [Select]
if (!function_exists('theme_html_picinfo')) {  //{THEMES}
function theme_html_picinfo(&$info)
{
    global $lang_picinfo;

    $html = '';

    $html .= "        <tr><td colspan=\"2\" class=\"tableh2_compact\"><b>{$lang_picinfo['title']}</b></td></tr>\n";
    $template = "        <tr><td class=\"tableb_compact\" valign=\"top\" >%s:</td><td class=\"tableb_compact\">%s</td></tr>\n";
    foreach ($info as $key => $value) $html .= sprintf($template, $key, $value);

    return $html;
}
}  //{THEMES}

Как уже говорил Alex Revo, имя файла приходит в массиве $info.
Далее в шаблон $template подставляются переменны $key и $value , где:
$key = $lang_picinfo['Filename']
$value = $CURRENT_PIC_DATA['filename']

Соответственно, Вам нужно в вашу тему переносить данную функцию:
Code: [Select]
function theme_html_picinfo(&$info)
{
    global $lang_picinfo;

    $html = '';

    $html .= "        <tr><td colspan=\"2\" class=\"tableh2_compact\"><b>{$lang_picinfo['title']}</b></td></tr>\n";
    $template = "        <tr><td class=\"tableb_compact\" valign=\"top\" >%s:</td><td class=\"tableb_compact\">%s</td></tr>\n";
    foreach ($info as $key => $value) $html .= sprintf($template, $key, $value);

    return $html;
}

И уже с ней работать.

Работа будет заключаться в том, чтобы исключить из обработки нужный $key
Вот тут я без практики Вам не подскажу.

Попробуйте написать вот так в вашей теме:
Code: [Select]
function theme_html_picinfo(&$info)
{
    global $lang_picinfo;

    $html = '';

    $html .= "        <tr><td colspan=\"2\" class=\"tableh2_compact\"><b>{$lang_picinfo['title']}</b></td></tr>\n";
    $template = "        <tr><td class=\"tableb_compact\" valign=\"top\" >%s:</td><td class=\"tableb_compact\">%s</td></tr>\n";
    foreach ($info as $key => $value){
        if ($key == $lang_picinfo['Filename'])
            //do nothing
        }else{
            $html .= sprintf($template, $key, $value);
        }
    }
    return $html;
}
Logged

ARTni

  • Coppermine newbie
  • Offline Offline
  • Posts: 11
    • ARTni орг - графика и живопись

2Makc666:

Спасибо большое за подробное описание - это помогло мне чуть лучше понять схему построения скриптов и PHP.

Для моих целей оказалось легче править напрямую displayimage.php (что не совсем правильно идеологически - но проще и хоть немного снижает нагрузку на сервер - что одно из самых критичных сейчас для сайта).

В displayimage.php достаточно просто закомментировать строчку:
Code: [Select]
$info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);
С переносом блока picinfo пока не стал замарачиваться, так как еще много не настроено из более простых вещей.
Logged
Pages: [1]   Go Up
 

Page created in 0.031 seconds with 20 queries.