Меню сайта
Категории раздела
Новости кибер-спорта [320]
Мини-чат
Наш опрос
Каким браузером вы пользуетесь?
Всего ответов: 27
Главная » 2010 » Январь » 30 » Поиск и замена продвинуто
13:04
Поиск и замена продвинуто
Суть: при замене контента файла можно будет в админке (мод \"Поиск и замена\", DataLife Engine) заменять текст не для всех новостей, не только для конкретных категорий.
По сути изменения не слишком то и глобальные, но в администрировани поволшебникают
Отмечу, что работает с поддержкой мультикатегорий.

Инструкция:
в файле ./engine/inc/search.php найти:
        if (in_array(\"news\", $_POST[\'table\'])) {
                $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `short_story`=REPLACE(`short_story`,\'$find\',\'$replace\')
\");
                $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `full_story`=REPLACE(`full_story`,\'$find\',\'$replace\')
\");
                $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `xfields`=REPLACE(`xfields`,\'$find\',\'$replace\')\"
);

        }

        if (in_array(\"comments\", $_POST[\'table\'])) {
                $db->query(\"UPDATE `\" . PREFIX . \"_comments` SET `text`=REPLACE(`text`,\'$find\',\'$replace\')\")
;
        }

        if (in_array(\"pm\", $_POST[\'table\'])) {
                $db->query(\"UPDATE `\" . USERPREFIX . \"_pm` SET `text`=REPLACE(`text`,\'$find\',\'$replace\')\")
;
        }

        if (in_array(\"static\", $_POST[\'table\'])) {
                $db->query(\"UPDATE `\" . PREFIX . \"_static` SET `template`=REPLACE(`template`,\'$find\',\'$replace\')\"
);

        }

        if (in_array(\"tags\", $_POST[\'table\'])) {
                $db->query(\"UPDATE `\" . PREFIX . \"_tags` SET `tag`=REPLACE(`tag`,\'$find\',\'$replace\')\");
                $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `tags`=REPLACE(`tags`,\'$find\',\'$replace\')\")
;
         }

        clear_cache ();
        msg(\"info\", $lang[\'find_done_h\'], $lang[\'find_done\'], \"?mod=search\");

}

и заменить на:
        foreach ( $_POST[\'table\'] as $value ) {
        
                if ($value == \"comments\") {
                        $db->query(\"UPDATE `\" . PREFIX . \"_comments` SET `text`=REPLACE(`text`,\'$find\',\'$replace\')\")
;
                }
        
                elseif ($value == \"pm\") {
                        $db->query(\"UPDATE `\" . USERPREFIX . \"_pm` SET `text`=REPLACE(`text`,\'$find\',\'$replace\')\")
;
                }
        
                elseif ($value == \"static\") {
                        $db->query(\"UPDATE `\" . PREFIX . \"_static` SET `template`=REPLACE(`template`,\'$find\',\'$replace\')\"
);
                }
        
                elseif ($value == \"tags\") {
                        $db->query(\"UPDATE `\" . PREFIX . \"_tags` SET `tag`=REPLACE(`tag`,\'$find\',\'$replace\')\");
                        $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `tags`=REPLACE(`tags`,\'$find\',\'$replace\')\")
;
                }

                else {
                        if ($config[\'allow_multi_category\'])
                                $where_category = \"category regexp \'[[:<:]](\" . $value . \")[[:>:]]\'\";
                        else
                                $where_category = \"category = \'{$value}\'\";
        
                        $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `short_story`=REPLACE(`short_story`,\'$find\',\'$replace\')
WHERE {$where_category};\");
                        $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `full_story`=REPLACE(`full_story`,\'$find\',\'$replace\')
WHERE {$where_category};\");
                        $db->query(\"UPDATE `\" . PREFIX . \"_post` SET `xfields`=REPLACE(`xfields`,\'$find\',\'$replace\') WHERE {$where_category};\");
                }
        }

        clear_cache ();
        msg(\"info\", $lang[\'find_done_h\'], $lang[\'find_done\'], \"?mod=search\");

}

        $categoryes = array ();
        $db->query ( \"SELECT id, name FROM \" . PREFIX . \"_category ORDER BY posi ASC\" );
        while ( $row = $db->get_row () ) {
                $categoryes_option .= \'<option value=\"\'.$row[\'id\'].\'\" selected>-- \'.$row[\'name\'].\'</option>\';
        }
        $db->free ();

найти:
<option value=\"news\" selected>{$lang[\'find_rnews\']}</option>

заменить на:
<optgroup label=\"{$lang[\'find_rnews\']}\">{$categoryes_option}</optgroup>

КСТАТИ, для удобства: в этом же файле найти:
<select name=\"table[]\" style=\"height:72px;\" multiple>

заменить на:
<select name=\"table[]\" style=\"height:272px;\" multiple>

Вот и все.
Актуально для DLE 6.5 - DLE 8.3

Категория: Новости кибер-спорта | Просмотров: 192 | Добавил: 2qq | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Воскресенье
17.11.2024
23:57


Реклама
Друзья сайта
XXX


Новое на форуме
Статистика
» Зарег. на сайте
Всего: 637
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
» Из них
Администраторов: 1
Модераторов: 1
Проверенных: 11
Обычных юзеров: 620
» Из них
Парней: 619
Девушек: 17


Онлайн всего: 37
Гостей: 37
Пользователей: 0

Сегодня были
Копилка



© Theysoft.ru ©2010
При копировании ссылка на первоисточник обязательна.
Авторы проекта не несут ответственности за содержание рекламных материалов и файлов, размещенных на сторонних серверах.
SiteMap.xml | ForumSiteMap.xml | Хостинг от uCoz