Привет, Гость!
Главная
Вход

Последняя активность

Форум / JohnCMS / моды, дизайн / Модули для JohnCMS 7.x.x
Поиск | Файлы топика (1)
  #hashtag
1 2 >>
Eternal Eternal [Off] [#] (09.03.2018 / 23:04)
jimy, Can you give me a example of writing in mysql base tags (form and query)
jimy jimy [Off] [#] (01.07.2017 / 08:28)
Добавлено: 01.07.2017 / 08:05
# EMINEM (23.06.2017 / 21:15)
jimy, An excellent function, is there a script that will make this function work?
Why is there no archive /page/?
for page/?act=tag I made I myself u can make new directory / just use existing directory and change the link as you want, mine is for example.
to get the hashtag
<a href="'.$homeurl.'/page/?act=tags&amp;src='.$tg.'" title="'._t('In-Tags: '.$tags[0].'','system').'">

Добавлено: 01.07.2017 / 08:13
for example #hastag I request its from table discus (nb: u can use forum/news/guestbook/etc.)

table
  1. DROP TABLE IF EXISTS `discus`;
  2. CREATE TABLE `discus` (
  3. `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  4. `time` INT(10) UNSIGNED NOT NULL DEFAULT '0',
  5. `user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
  6. `name` TEXT NOT NULL,
  7. `text` TEXT NOT NULL,
  8. `close` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
  9. `tag_name` VARCHAR(250) NOT NULL DEFAULT '',
  10. PRIMARY KEY (`id`),
  11. KEY `user_id` (`user_id`),
  12. KEY `tag_name` (`tag_name`)
  13. )
  14. ENGINE = MyISAM
  15. DEFAULT CHARSET = utf8mb4;


code in /page/?act=tags
  1. /* mod HashTag system by jimy ironyzm */
  2. /* author: jimy */
  3. $rev = $db->query("SELECT * FROM `discus` WHERE `tag_name` = '".$src."'")->fetch();
  4. if($src != $rev['tag_name']){
  5. $url = '?act=tags';
  6. header('refresh:5;url='.$url.'');
  7. echo '<div class="menu">Sorry Tags Not-Found or Maybe Deleted! <hr/> u\'ll redirect in 5 sec.</div>';
  8. require('../system/end.php');
  9. }
  10. /* mod HashTag system by jimy ironyzm */
  11. /* author: jimy */
  12. if(empty($src) || $src != $rev['tag_name']){
  13. $reg = $db->query("SELECT * FROM `discus` GROUP BY `tag_name` ORDER BY `id`");
  14. if ($reg->rowCount()) {
  15. echo '<div class="menu">';
  16. while ($rez = $reg->fetch()) {
  17. $usage = $db->query("SELECT COUNT(*) FROM `discus` WHERE `tag_name` = '".$rez['tag_name']."'")->fetchColumn();
  18. echo '<a href="../page/?act=tags&amp;src='.$rez['tag_name'].'" title="'._t('In-Tags: #'.$rez['tag_name'].'','system').'"><span class="tagcon">'.$rez['tag_name'].' = '.
  19. $usage.'</span></a>';
  20. ++$i;
  21. }
  22. echo '</div>';
  23. } else {
  24. echo '<div class="menu center"><b>'._t('No Tags!','system').'</b></div>';
  25. }
  26. }

_______________________

Только русский и английский!
Изм. ДоХтор (03.07.2017 / 11:44) [1]
jimy jimy [Off] [#] (01.07.2017 / 07:55)
sorry long time not on.

i'll share mine
open bbcode.php

find
  1. public function __invoke(ContainerInterface $container)

add
  1. $this->db = $container->get(\PDO::class);


find
  1. public function tags($var)

add
  1. $var = $this->hashTag($var);


last add protected function
  1. /* mod HashTag system by jimy ironyzm */
  2. /* author: jimy */
  3. protected function hashTag($var) {
  4. $HashTag = '/(?<!:|\s|&|"|\')(^|\s)#([-a-z0-9_-]{3,20})/si';
  5. $var = str_replace('>#','> #',$var);
  6. $var = preg_replace_callback($HashTag, function($tags) {
  7. $tg = htmlspecialchars(trim($tags[2]));
  8. return $tags[1].'<a href="'.$homeurl.'/page/?act=tags&amp;src='.$tg.'" title="'._t('In-Tags: '.$tags[0].'','system').'"><span class="tagcon">'.$tags[2].'</span></a>';
  9. },$var);
  10.  
  11. $UserTag = '#(^|[\n\s])@([-a-z0-9_-]{3,20})#si';
  12. $var = preg_replace_callback($UserTag, function($name) {
  13. $tg = htmlspecialchars(trim($name[2]));
  14. $user = $this->db->prepare('SELECT * FROM `users` WHERE `name` = ? LIMIT 1');
  15. $user->execute([$tg]);
  16. if ($user->rowCount() > 0 && $this->user->isValid()) {
  17. $users = $user->fetchColumn();
  18. return $name[1].'<a href="'.$homeurl.'/profile/?user='.$users['id'].'" title="'.$name[0].'">'.$name[0].'</a>';
  19. } else {
  20. return $name[1] . '@' . $name[2];
  21. }
  22. },$var);
  23. return $var;
  24. }


then open your style.css
add
  1. .tagcon {
  2. display: inline-block;
  3. }
  4. .tagcon:before {
  5. content: "#";
  6. font-size: 15px;
  7. margin-right:2px;
  8. font-style:italic;
  9. }



note :
1. pls make new $act in root/page/index.php for getting tags list
2. usage = @jimy #handsome / both @jimy and #handsome will be link into user profile and page/?act=tags

Изм. jimy (01.07.2017 / 07:57) [2]
kantry kantry [Off] [#] (27.06.2017 / 06:25)
Eternal, Ты чего пристал? Этого модуля нет в стандартном движке, автор придет и спросишь у него.
Изм. kantry (27.06.2017 / 06:25) [1]
Eternal Eternal [Off] [#] (26.06.2017 / 23:42)
# Koenig (26.06.2017 / 10:22)
Eternal, можно и так, тогда функция попадает в $tools и придётся $tools->checkout() изменять, или добавить ББ, оно уже прописано в чекаут
johncms.com/forum/index.php?act=post&id=1021803
первое слов
Короче это и не модуль толком. Так как автор просил помощи. Страницы нет с результатами
Koenig Koenig (Adm) [Off] [#] (26.06.2017 / 10:22)
(\/)____o_O____(\/)
Eternal, можно и так, тогда функция попадает в $tools и придётся $tools->checkout() изменять, или добавить ББ, оно уже прописано в чекаут
johncms.com/forum/index.php?act=post&id=1021803
первое слово protected значит из класса ;)
Eternal Eternal [Off] [#] (26.06.2017 / 05:05)
# Koenig (25.06.2017 / 14:18)
текст фильтруется стандартной функцией движка, и автор уже не первую тему делает где участвуют ББ
Ну здесь страница ББсовсем не причем. Должна быть что то по типу как в ВК. А подключатся вместе с фильтромиоекстамна выходе. Как по мне.

Подключается также как здесь, ну только для 7ки
https://johncms.com/forum/inde ... 97486
Изм. Eternal (26.06.2017 / 05:09) [3]
Koenig Koenig (Adm) [Off] [#] (25.06.2017 / 14:18)
(\/)____o_O____(\/)
# Eternal (25.06.2017 / 12:56)
Где там хоть одно упоминание о бб? Я так понял подключается в обработку на выводе текста на экран.

А ссылка ведёт на страницу результата поиска по тегу. Бб не при чем. А так логики вообще ноль.
текст фильтруется стандартной функцией движка, и автор уже не первую тему делает где участвуют ББ
Eternal Eternal [Off] [#] (25.06.2017 / 12:56)
# Koenig (24.06.2017 / 08:57)
Eternal, но оно через ББ реализовано
Где там хоть одно упоминание о бб? Я так понял подключается в обработку на выводе текста на экран.

А ссылка ведёт на страницу результата поиска по тегу. Бб не при чем. А так логики вообще ноль.
Изм. Eternal (25.06.2017 / 13:00) [2]
Koenig Koenig (Adm) [Off] [#] (24.06.2017 / 08:57)
(\/)____o_O____(\/)
Eternal, но оно через ББ реализовано
Eternal Eternal [Off] [#] (24.06.2017 / 06:11)
Koenig, Это типа хештеги... Какие там ббкоды. Поиск записей по нажатому хештегу
Eternal Eternal [Off] [#] (24.06.2017 / 06:09)
EMINEM, Это тема о помощи а не о модуле. Функция есть - остальное писать самому
EMINEM EMINEM [Off] [#] (23.06.2017 / 21:15)
jimy, An excellent function, is there a script that will make this function work?
Why is there no archive /page/?
Koenig Koenig (Adm) [Off] [#] (23.06.2017 / 20:26)
(\/)____o_O____(\/)
EMINEM, ну если только у ТС
EMINEM EMINEM [Off] [#] (23.06.2017 / 19:41)
а есть готовая страница /page/ ? код работает но нету /page/index.php
Koenig Koenig (Adm) [Off] [#] (23.06.2017 / 18:25)
(\/)____o_O____(\/)
EMINEM, ну надо ее еще где то сверху где ютуб прописать
EMINEM EMINEM [Off] [#] (23.06.2017 / 17:42)
Koenig, уверен? я поставил и ничего)
Koenig Koenig (Adm) [Off] [#] (23.06.2017 / 11:38)
(\/)____o_O____(\/)
EMINEM, bbcode.php наверное
EMINEM EMINEM [Off] [#] (23.06.2017 / 11:36)
в какой файл его пристроить?
jimy jimy [Off] [#] (18.06.2017 / 21:15)
hahahah yeah, btw thanks again kantry
  Всего: 25
1 2 >>

Фильтр по автору
Скачать тему

Форум

Новые внизу
Главная
2 / 56

JohnCMS 7.1.0

Яндекс.Метрика
© JohnCMS