Изменение словаря keywords для работы с ... Изменение словаря keywords для работы с ...
 

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]

Main Menu

Изменение словаря keywords для работы с ...

Started by Gostemilov, May 20, 2011, 01:57:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Gostemilov

Изменение словаря keywords для работы с перекрестными альбомами

Что требуется:

В галерее применены перекрестные альбомы (точнее, будут применены, сейчас идет отладка).

Для размещения изображения, загруженного в личный альбом, в публичных альбомах юзер дожен указать тег, содержащийся в свйоствах альбома. Но он его не знает ( а откуда, собственно?)

Можно сделать теги альбомов идентичными названиям. Но это не вполне верно, имхо.

Что требуется: при выполнении пересборки словаря вставлять в него НЕ теги, присвоенные юзерами изображениям, а теги, присвоенные АЛЬБОМАМ. Тогда процесс размещения в перекрестных альбомах будет простым и приятным: юзер грузит изображение, из списка кейвордов выбирает, в каких публичных альбомах разместить изображение, от балды добавляет несколько своих тегов применительно именно к этому изображению и... И все довольны и все хорошо.

Вопрос: КАК?

Gostemilov



$query = "SELECT keyword FROM `cpg15x_albums` WHERE keyword <> ''";
$result = cpg_db_query($query);
$i = 0;
if (mysql_num_rows($result)) {

    if ($output) { starttable('100%', $lang_gallery_admin_menu['key_lnk']); }

    cpg_db_query("TRUNCATE TABLE {$CONFIG['TABLE_DICT']}");
    while ($row = mysql_fetch_assoc($result)) {
        $keyArr = explode($CONFIG['keyword_separator'], $row['keyword']);
        foreach ($keyArr as $keyword) {
            $keyword = trim($keyword);
            if (empty($keyword)) {
                continue;
            }
            $query = "SELECT null FROM {$CONFIG['TABLE_DICT']} WHERE keyword = '$keyword'";
            $result2 = cpg_db_query($query);
            if (!mysql_num_rows($result2)) {
                $query = "INSERT INTO {$CONFIG['TABLE_DICT']} (keyword) VALUES ('$keyword')";
                cpg_db_query($query);
                if ($output) { echo '<tr><td class="tableh2">' . $keyword . '</td></tr>'; }
                $i++ ;
            }
        }


наверняка можно префикс таблицы откуда-то воткнуть в виде переменной, но я даже затеваться не стал с эти, и так работает.

Оффтоп - тут вообще форум или так, место куда зашел,задал вопрос, через недельку зашел, сам себе ответил и ушел довольный?

Alex Revo

Тут форум, но на нем много вопросов в основном от новичков, поэтому найти решение не всегда просто.

Gostemilov

Так ведь и я не гуру, но за пару дней заточил галерею под себя напильником? вопрос в желании что-то сделать, а не в стаже.

В общем, пользователи очень довольны тем, что не надо вбивать все вручную, пара-тройка кликов - и изображение размещено в нужных альбомах.

Это, кстати, большой плюс Coppermine, у других галерей, которыми я пользовался, подобного функционала нет

К сожалению, реализация многого сделана настолько через зад, что просто оторопь берет, но ничего, вроде справился.