Перейти к контенту

изменения вывода аватаров к 1 аперля.


Рекомендуемые сообщения

Всем привет, после очередного похмелья у меня в голове родился прикол к 1 апреля.

Смысл шутки в том чтобы пользователи обменивались аватарами в рандруме на протяжении всего дня.

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

Ссылка на комментарий
Поделиться на других сайтах

Понравилась идейка.)

 

Открыть /sources/ipsclass.php

 

Найти:

 

$member['avatar'] = $this->get_avatar( $member['avatar_location'], $this->member['view_avs'], $member['avatar_size'], $member['avatar_type'] );

 

Добавить ПЕРЕД:

 

		#Get some avatars if needed
	if(!count($this->random_avs))
	{
		$this->DB->simple_construct(array('select' =>'avatar_location,avatar_size,avatar_type',
										  'from'   => 'member_extra',
										  'where'  => 'avatar_location!=""',
										  'order'  => 'RAND()',
										  'limit'  => array(30),
									)		);
		$av_q = $this->DB->simple_exec();

		while( $av = $this->DB->fetch_row( $av_q ) )
		{
			$this->random_avs[] = $av;
		}
	}

	#Get a single random avatar
	$member = array_merge($member, $this->random_avs[array_rand($this->random_avs)]);

 

Будет работать везде, где используется parse_member из ipsclass'а.)

 

Уже затестил на юзерах. ПрикольнА.. ^__^

Изменено пользователем WildRAID
Ссылка на комментарий
Поделиться на других сайтах

Поленился тасовать. Решил просто перевернуть. Самым примитивным способом. На IPB 1.3:

 

Topics.php

После

$member['avatar'] = $std->get_avatar( $member['avatar'], $ibforums->member['view_avs'], $member['avatar_size'] );

добавил

$member['avatar'] = str_replace("<img src=","<img style='filter:flipV' src=",$member['avatar']);

Ссылка на комментарий
Поделиться на других сайтах

Да. Только он только в IE работает...
Ссылка на комментарий
Поделиться на других сайтах

Поковырялся в 1.3, не сумел перетасовать аватарки.

Как только я добавляю запрос к БД, разваливается весь механизм вывода постов в топике. :D

В дополнение к перевороту аватарок сделаю таракана, ползающего по форуму. Есть милая гифка с ползающей мошкой: http://vesvalo.net/tarak.gif

Джаваскриптом запущу гифку гулять по странице по произвольной траектории.

Надеюсь, мониторы никто не поразбтвает.

Ссылка на комментарий
Поделиться на других сайтах

эм. а какте аткое сделать? ну пользуещего таракана или ещё кого?

куда и какой скрипт пихать?=)

zarabee Danke!

Ссылка на комментарий
Поделиться на других сайтах

Скрипт можно взять с http://vesvalo.net/tarak.js

Вместе с гифкой положить в корень форума.

В шаблон добавить:

<script type="text/javascript" language="JavaScript1.2" src="tarak.js"></script>

Ссылка на комментарий
Поделиться на других сайтах

огромное спасибо=)

получилось=)

добавил в "обьявление", оно ведь "глабально".хех...

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

 

п.с. в 2.3.4 "рандом" работает.

Ссылка на комментарий
Поделиться на других сайтах

Джаваскриптом запущу гифку гулять по странице по произвольной траектории.

Что-то таракан ходит рывками, неплавно. Так и должно быть?

Ссылка на комментарий
Поделиться на других сайтах

Что-то таракан ходит рывками, неплавно. Так и должно быть?

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

Но я протестировал на нескольких знакомых, все почти пальцами мониторы попачкали, пытаясь мошку придавить. :D

Ссылка на комментарий
Поделиться на других сайтах

а можно как-нить сделать замены слов или символов опроеделенных в сообщениях?

или просто перемешивать буквы в словах?

Ссылка на комментарий
Поделиться на других сайтах

2FatCat, а не знаешь для ipb2.3 какой файл править, чтоб аватарки ворочались?

По идее, тот же, что в хаке WildRAID, только переворот делать не перед кодом, а после него.

Ссылка на комментарий
Поделиться на других сайтах

WildRAID

У твоего хака перетасовки аваок идет SQL-запрос при каждой аватарке в итоге если в теме показывается по 10 аватарок то +10 запросов будет. А если больше, то еще больше... Ну очень оптимальное решение.

 

Я когда это делал, то один раз при показе темы SQL-запрос на вбыорку аваок ну или не темы ну все равно один SQL-запрос добавлялся и все + можно в кеш пихнуть (даже файловый кеш для этого подойдет).

Ссылка на комментарий
Поделиться на других сайтах

Да ну? :D функция parse_member вызывается для каждого поста темы (если глядеть по отработке темы)

я тебе не про то что в твоем хаке не один sql-запрос а про то что твой хак нагенерит кучу запросов т.к. функция parse_member дераегтся не один раз же

Ссылка на комментарий
Поделиться на других сайтах

Аякс перезалейте с тараканом пожалуйста.

Держи таракана.

 

Понравилась идейка.)

Я на 1.3 все мозги сломал.

Пробовал в Topic.php и в functions.php выполнять запрос к БД - и в итоге у меня в топике выводится только первый пост. Все остальные посты или не выводятся вообще, или выводятся пустые.

Может подскажешь, что я делаю не так? [краснеющий смайлик]

tarak.zip

Ссылка на комментарий
Поделиться на других сайтах

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

 

Чтобы этого избежать, следует запросам присваивать идентификаторы, и fetch_row делать по ним... например:

 

$av_q = $this->DB->simple_exec();

 

while( $av = $this->DB->fetch_row( $av_q ) )

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.