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

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

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, у других галерей, которыми я пользовался, подобного функционала нет

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