0 Пользователей и 1 Гость просматривают эту тему.
  • 36 Ответов
  • 18169 Просмотров
*

coltt

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Собственно сабж, существует ли такой мамбот ? Предположим, зашёл юзер в галерею, увидел себя на фотографии, нажал на кнопочку, аля "я тут есть" и попал в список "себя нашли:..." под фотографией
« Последнее редактирование: 19.02.2008, 03:53:55 от beliyadm »
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: мамбот "На фотографиии себя нашли:"
« Ответ #1 : 17.10.2007, 19:49:20 »
Хак, позволяющий добавить функцию "на фотографии себя нашли".
Работает на оригинальной 12-й версии (на других, кроме 1.5 тоже должен) и на версии галереи 1.6 (в предыдущих версиях будет отличаться пункт 2 (вместо $header там $lightbox).
Исправил ошибку повторного добавления юзером себя в список. Если для данной картинки он уже существует - будет выдано соответствующее предупреждение.
Хак в данной вариации работает, если для фотографий разрешен показ дополнительной информации.
На AJAX конкретно не заморачивался, чтобы после добавления запись появилась в списке - необходимо обновить страницу.
Внимание - необходимо скачать обновленный архив (для тех, кто эксперементировал ранее)

Демо-версия (просьба не шалить, ибо сайт собственный-рабочий :))

порядок действий
1 - создать таблицу в бд
Код
CREATE TABLE `префикс_datsogallery_users` (
  `pic_id` int(5) NOT NULL default '0',
  `user_id` int(5) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Где "префикс" - префикс таблиц, по умолчанию jos

2 - открыть файл sub_viewdetails.php найти строки примерно 255-258:
Код
$frating = "$fimgvotesum ($imgvotes "._DG_VOTES.")";
    } else {
    $frating = _DG_NO_VOTES;
    }
и добавить после них код:
Код
    //// новая фишка для пользователей, нашедших себя на фото
    echo "<b>На этой фотографии себя нашли уже:</b><br />";
    $query="SELECT d.id AS did, u.name AS uuname "
    . " FROM #__datsogallery_users AS du "
    . " JOIN #__datsogallery AS d ON d.id = du.pic_id "
    . " JOIN #__users AS u ON u.id = du.user_id "
    . " WHERE du.pic_id = $id";
$database->setQuery($query);
$rows = $database->loadObjectList();
foreach($rows as $row1) {
echo $row1->uuname."&nbsp;&nbsp;";
  }
    if ($my->username) {
    echo "<div id='comtab'></div>";
echo "<div align='center' id='cerror'></div>";
    $my_user = $my->id;
    echo "<form action=''  name='comment' id='com' method='GET' enctype='multipart/form-data'>";
echo "<input type='hidden' name='picid' value='".$id."'/>";
echo "<input type='hidden' name='userid' value='".$my_user."' />";
echo "<input id='sub' class='button' type='submit' value='Добавить себя в список' onclick='addComment(); return false;'>";
echo "</form>";
}
else {
echo "<br />Чтобы оставить о себе упоминание необходимо авторизоваться на сайте либо пройти <a href='index.php?option=com_registration&task=register'>регистрацию</a>";
}
////////////////////////////////////////////////////////////////////

3 - в этом же файле в самом начале найти строки:
Код
    
$header .= "<script type=\"text/javascript\" src=\"$gallerypath/js/slimbox/js/mootools.js\"></script>\n";
    }
$header .= "<script type=\"text/javascript\" src=\"$gallerypath/js/slimbox/js/slimbox.js\"></script>\n";
$header .= "<link rel=\"stylesheet\" href=\"$gallerypath/js/slimbox/css/slimbox.css\" type=\"text/css\" media=\"screen\" />\n";
и добавить после две строки:
Код
$header .= "<script type=\"text/javascript\" src=\"$gallerypath/ajax/comm.js\"></script>\n";
$header .= "<script type=\"text/javascript\" src=\"$gallerypath/ajax/JsHttpRequest.js\"></script>\n";

4 - В папке components\com_datsogallery создать каталог ajax и распаковать в него архив

Параметры вывода на экран списка юзеров - пункт 2 в добавленном коде.
Тексты успешного добавления и ошибки - в файле components\com_datsogallery\ajax\comm.js
« Последнее редактирование: 19.02.2008, 07:17:58 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Agent-vi

  • Захожу иногда
  • 71
  • 0 / 0
Re: мамбот "На фотографиии себя нашли:"
« Ответ #2 : 17.10.2007, 22:36:11 »
у меня в единственном вопрос .. как создать таблицу в базе ?? я не понимаю вообще эту базу .. куда это прописывать то ??

CREATE TABLE `префикс_datsogallery_users` (
  `pic_id` int(5) NOT NULL default '0',
  `user_id` int(5) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: мамбот "На фотографиии себя нашли:"
« Ответ #3 : 17.10.2007, 22:37:37 »
к примеру зайти с помощью PHPMyAdmin в управление БД, выбрать нужную базу, нажать вкладку SQL и в окошке выполнить данную команду
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Vasabi

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #4 : 20.02.2008, 12:42:45 »
хак очень полезный, спасибо

а тяжело сделать, чтобы если что можно было удалить себя из этого списка?
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #5 : 20.02.2008, 12:43:53 »
хак очень полезный, спасибо
а тяжело сделать, чтобы если что можно было удалить себя из этого списка?
Не за что, как бы не очень тяжело. Нужно добавить кнопку "Удалить себя" ?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Vasabi

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #6 : 20.02.2008, 13:38:01 »
может это и не первой необходимости функция, но вот я был на демо и оставил себя на фото для теста, но удалить себя не могу

и мне кажется на эту кнопочку будут нажимать многие, даже те которых нету на данной фотографии. Думаю им нужно дать шанс удалить себя))).
Или сделать оперативную кнопочку для админа.

Все равно и так продукт полезный) если нужно будет удалить сделаю это в phpmyadmin
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #7 : 20.02.2008, 13:55:51 »
я сегодня сделаю демку только на одной специальной тестовой фотографии, а не всем разделе а эти удалю :)
Пока делать такую кнопку не было пожеланий, вот и не делал.
Через админ осторожней - там в таблице лежат идентификаторы, не ники пользователей. Проводишь аналогию под id с users и удаляешь
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

k1NDer

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #8 : 01.03.2008, 17:33:34 »
а при добавлении ника под фото, ссылка на ник юзера есть ?
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #9 : 01.03.2008, 17:37:07 »
нет, а куда должна вести?
Ведь хак делался под чистый движок, без всяких там CB и профилей юзверей
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

ershovdz

  • Захожу иногда
  • 102
  • 21 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #10 : 01.03.2008, 17:39:48 »
А у меня такой вопрос-предложение - а можно этот хак усложнить - т.е. сделать так чтобы можно было прямо на фото выделять себя.. Как например это сделано на сайте www.vkontakte.ru ? Например прилепить вот что то такое http://www.fotonotes.net/ или http://eatyourgreens.org.uk/archives/2007/08/adding_a_magnif.html или такое http://www.frankmanno.com/ideas/css-imagemap/ или вот такое http://www.defusion.org.uk/demos/060519/cropper.php - в последнем, правда, нету того чего надо, но я где то видел сампель, в котором с помощью этого примеры делают аннотации к различным частям на фотографии...
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #11 : 01.03.2008, 17:47:14 »
я знаю как это делается в контакте.
Теоретически можно, но мои познания JS не настолько велики, чтобы реализовать.
Если кто сделает - скажу спасибо :):)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

arshish

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #12 : 06.03.2008, 03:32:43 »
всё поставил, кульно работает!но вот незадача!В опере появляется анимашка и всё!Ничего не происходит далее!! :(( :( :(
в эксплорере сразу тыкаешь и всё, но ещё одна фигня-твоё имя отображается только после обновления страницы!Тоесть сразу его не видишь :(
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #13 : 06.03.2008, 04:22:50 »
в эксплорере сразу тыкаешь и всё, но ещё одна фигня-твоё имя отображается только после обновления страницы!Тоесть сразу его не видишь :(
я про это писал, что пока так и есть )
Насчет оперы проверю еще раз - у меня работало изначально
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

ershovdz

  • Захожу иногда
  • 102
  • 21 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #14 : 07.03.2008, 16:48:47 »
я знаю как это делается в контакте.
Теоретически можно, но мои познания JS не настолько велики, чтобы реализовать.
Если кто сделает - скажу спасибо :):)
Т.к. beliyadm заленился делать хак - пришлось это делать самому..
Итак, сразу скажу, что я c php и javascript начал знакомиться только пару недель назад, поэтому код получился соответствующий.. Было бы здорово, если бы знающие люди указали мне на мои ошибки..
Кроме того, есть одна большая проблема - пришлось отключить slimbox, как это избежать я пока не знаю...
Теперь, что касается установки:
Создать таблицу в базе данных
CREATE TABLE IF NOT EXISTS `jos_datso_note` (
  `width` int(11) NOT NULL,
  `height` int(11) NOT NULL,
  `xPos` int(11) NOT NULL,
  `yPos` int(11) NOT NULL,
  `text` varchar(200) NOT NULL,
  `imgid` int(11) NOT NULL,
  `noteid` int(11) NOT NULL auto_increment,
  `ownerid` int(11) NOT NULL,
  `ownername` varchar(200) NOT NULL,
  PRIMARY KEY  (`noteid`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251
Далее взять файлы из аттача и просто добавить их в каталог галлереи..
Вроде все.. результат(демо) можно посмотреть здесь: http://mexmatnn-ru.1gb.ru/index.php?option=com_datsogallery&Itemid=27&func=detail&catid=1&id=1

login: test1
password: test

[вложение удалено Администратором]
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #15 : 07.03.2008, 17:02:59 »
супер, да, совсем я обленился ))
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

k1NDer

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #16 : 15.03.2008, 15:31:54 »
а реально сделать, что бы снизу ники тех, кто себя нашёл были и ссылки на их профили ?
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #17 : 15.03.2008, 16:05:29 »
Для моего способа или версии от ershovdz? Я думаю что его идея лучше реализована и развивать стоит именно ее.
Профили куда вести должны?
Я думаю что несложно, вытаскиваешь запросом из этой новой таблицы ownerid (а он совпадает с ID из _users) и генерируешь ссылку куда тебе нужно.
CB и прочих глупостей у меня не стоит, потому не подскажу детальней
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

k1NDer

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #18 : 15.03.2008, 16:13:14 »
ссылка на ИД юзера в СВ.
*

k1NDer

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #19 : 15.03.2008, 16:13:52 »
такое бы ещё для новостей реализовать, было бы вообще супер =)
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #20 : 15.03.2008, 16:42:57 »
такое бы ещё для новостей реализовать, было бы вообще супер =)
что для новостей? В новостях себя нашли? :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

Vasabi

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #21 : 17.03.2008, 01:14:22 »
cпасибо большое
но все-таки сложности при установки были
нужно было поставить включенным LightBox и водяной знак
с помощью Total Commander нашел в тех файлах таблицы с префиксом jos_и заменил на свой

и нужно, чтобы ширина сайта была фиксированная,  а то будут не правильно отображаться на разных разрешениях экрана определенные координаты – пришлось шаблон править(
*

k1NDer

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #22 : 19.03.2008, 19:30:15 »
Почти =))) "На событие пойдут" =)))
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #23 : 21.03.2008, 01:30:15 »
ershovdz - благодарствую за скрипт, но есть несколько но:
1 - почему бы не использовать #_ как префикс таблиц, ведь не у всех jos стоит.
2 - в мозилле, ИЕ и опере по разному позиционируется выделенный фрагмент, если в мозилле\опере разница в пару пкс, то в ИЕ 6 у меня в твоем дефолтовом варианте хака выделение улетело на полстраницы вправо (и появилось по нажанию "добавить себя" за пределами изображения в всех браузерах).
3 - если не затруднит - опиши хак для каждого файла в отдельности, ведь у многих там присутствуют собственные изменения
Slimbox отлетел наверно потому, что mootools не всегда дружит с prototype, надо поковыряться будет на досуге (хотя сделал проще - заменил надоевший slimbox на текуще\любимый FuncyZoom, все равно он на сайте будет висет, так зачем грузить два скрипта, на выходных выложу на сайт, можно будет посмотреть)
« Последнее редактирование: 21.03.2008, 01:45:50 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

ershovdz

  • Захожу иногда
  • 102
  • 21 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #24 : 22.03.2008, 23:57:29 »
По пунктам
1- Да, можно конечно, просто сначала делал как у меня со стандартным префиксом, а в окончательной версии заленился менять.. :)
2-Не знал :( Я пробовал на Opera 9.25, Firefox 3 beta, IE7 вроде все нормально было.. на IE6 не пробовал..
3-Неа, не затруднит. В аттаче те же файлы только начало моих правок обозначены как 'начало моего кода', а конец - 'конец моего кода'.. Все файлы кроме datsogallery.php и sub_viewdetails.php новые, т.е. не входят в состав datso по умолчанию..
По поводу slimbox, я понял, что это из не любви mootools к prototype, вот собсно в этом у меня и вопрос - как их подружить.. 
Я вот думаю - может еще такую штучку прикрутить http://www.netzgesta.de/loupe/caribbean.html 

[вложение удалено Администратором]
« Последнее редактирование: 23.03.2008, 00:13:28 от ershovdz »
*

arshish

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Re: Хак "На фотографиии себя нашли:"
« Ответ #25 : 23.03.2008, 17:22:25 »
кстати нашли себя в новостях-мне нужно присоединить к статьям две кнопки ПОЙДУ и НЕ ПОЙДУ, и чтобы ниже появлялся список тех, кто пойдёт!
Как это сделать никто не подскажет?
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #26 : 23.03.2008, 18:43:28 »
Я вот думаю - может еще такую штучку прикрутить http://www.netzgesta.de/loupe/caribbean.html
забавный эффект, где то я встречал скрипт и описание внедрения, а в одной из галерей для движка подобный эффект присутствует по умолчнанию.
Правда великий смысл подобного я так и не оценил... Видимо не было необходимости
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

SloN

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • Just try...
Re: Хак "На фотографиии себя нашли:"
« Ответ #27 : 02.04.2008, 10:12:04 »
Да-да штука очень хорошая....
Только она не работает в 1.6 галерее... Не стал разбираться почему. Но факт остается фактом.
*

beliyadm

  • Moderator
  • 9544
  • 1653 / 66
  • Севастополь == Россия
Re: Хак "На фотографиии себя нашли:"
« Ответ #28 : 02.04.2008, 10:13:29 »
Да-да штука очень хорошая....
Только она не работает в 1.6 галерее... Не стал разбираться почему. Но факт остается фактом.
проверял - немного криво, но по умолчанию у меня на 1.6 заработало
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Записки нетрезвого кодера
Skype: beliyadm_pb
*

SloN

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
  • Just try...
Re: Хак "На фотографиии себя нашли:"
« Ответ #29 : 02.04.2008, 11:44:47 »
Странно, но у меня видимо несовместимость. Стоит joostina последней версии и чистая галерея 1.6.
Сделал все по вашему сценарию и тут "обона" и не грузит яву "бб кодов" и изображение в полном размере. Видимо прийдется мне обойтись без этого хака, т.к. времени нету разбираться  :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться