PDA

Просмотр полной версии : Цитаты с башорга себе в подпись


gemaglabin
20.02.2007, 17:36
Давно грела эта идея,наконец реализовал.Дергает случайные цитаты с любимого нами башорга и помещает на картинку.Решил взять цитаты , максимальное число строк которых не превышает четыре - побережем нервы людей,смотрящих десятисантиметровые подписи.Скачать можно тут (http://underwater.xtoolz.ru/bash/bash.rar)

blaga
20.02.2007, 17:45
Вы должны добавить репутацию кому-то еще, прежде чем сможете снова добавить ее gemaglabin.
Молодец, Гема... чего еще сказать... :)

GreenBear
20.02.2007, 17:55
если у кого нету хостинга, то можете использовать с моего.

http://gb.netsec.ru/bash/bash.php

nerezus
20.02.2007, 17:56
у меня раньше такая тут была =)
ща она на форуме sources.ru стоит, можете глянуть.
И вроде на дамаглабе.

DIAgen
20.02.2007, 17:57
Ну что Гема пригодилась функция?

gemaglabin
20.02.2007, 18:01
Диаген,спасибо что помог , вот только фукнция не пригодилась.Почему то она работала только на локалхосте


function wrap_text($text, $wrap) {
$wrap -= 2; //wrapped phrase is started and ended by a char
preg_match_all("/\b\w.{1,$wrap}\w\b/",$text,$parts);
return (implode("<br>", $parts[0]));
}


Я заменил стандартной функцией wordwrap,но все равно спасибо.

blaga
20.02.2007, 18:02
Блин, на моем хосте канает через раз... :( ща другой хост поищу...

ZaCo
20.02.2007, 18:03
гем, харе уже парсеры писать. делом займись)

Thanat0z
20.02.2007, 18:08
теоретически можно переделать под "now playing"

gemaglabin
20.02.2007, 18:10
Это нужен плагин к винампу который бы передавал скрипту название current music , winamp api хорошо описан , вот только делать лень

Thanat0z
20.02.2007, 18:14
Это нужен плагин к винампу который бы передавал скрипту название current music , winamp api хорошо описан , вот только делать лень
зачем? AMIP от фубара или винамп в текстовик пишет нужную инфу, и всё

Trinux
20.02.2007, 18:53
зачем? AMIP от фубара или винамп в текстовик пишет нужную инфу, и всё
ага, лишь маленькая проблемка - достать с харда посткреатера тот самый файлик =)))

Вообще идея с башоргом прикольная. Однако реализация не блещет =( Ибо намного проще было бы, если бы это не было бы картинкой (и не надо кричать что это никак не реализовать) ну и на крайний случай - нужно передавать параметры скрипту типа цвета фона и шрифта, чтобы было как можно более похоже на текст.

ZaCo
20.02.2007, 19:34
>>(и не надо кричать что это никак не реализовать)
на этом форуме в подписи? не поверю пока не увижу:)

Helios
20.02.2007, 20:13
Гема, проблеммка у твоего релиза: когда цитата меньше чем в 4 строки, текст растягивается и смотрится ИМХО некрасиво)

А так идея рулезз

nc.STRIEM
21.02.2007, 00:21
(и не надо кричать что это никак не реализовать)
А можно поинтересоваться как? саму идею..
прост я не представляю как ты этот текст вставиш в подпись.

NOmeR1
21.02.2007, 00:54
Отличный скрипт)
2nc.STRIEM, просто вместо картинки (в теге ) пишешь путь до скрипта %)

И будет типо этого :
[IMG]http://underwater.xtoolz.ru/bash/bash.php

Нажимаешь обновить рисунок, там другая цитата. Кул скрипт))

Trinux
21.02.2007, 03:48
А можно поинтересоваться как? саму идею..
прост я не представляю как ты этот текст вставиш в подпись.
Я не знаю =) но точно уверен что можно.
Способ всегда найти можно, в этом я точно уверен.

c411k
21.02.2007, 08:47
ы, еще летом такую фишку делал, немного кривовато, но работает (бывает что через раз, так что обновить тыкайте) :p
-----------------------------
http://www.spazioblog.it/statistiche/temp/img/a.png
-----------------------------

nerezus
21.02.2007, 09:38
Конечно можно: запросом в панельку профиля по крону. Но этот способ очень глупый, т.к. если все так будут делать - то будет большая нагрузка на серв.

gemaglabin
24.02.2007, 16:29
Обновил,теперь можно задать цвет фона,текста и рамки,а также текст теперь выдается true color шрифтом.Скачать скрипт можно тут www.underwater.xtoolz.ru/projects/bash/bash.rar , сгенерировать тут www.underwater.xtoolz.ru/projects/bash/

nc.STRIEM
24.02.2007, 17:41
2nc.STRIEM, просто вместо картинки (в теге ) пишешь путь до скрипта %)

И будет типо этого :
[IMG]http://underwater.xtoolz.ru/bash/bash.php

Нажимаешь обновить рисунок, там другая цитата. Кул скрипт))
Работать будет когда скрипт возвращает картинку, а когда текст не будет!

Конечно можно: запросом в панельку профиля по крону. Но этот способ очень глупый, т.к. если все так будут делать - то будет большая нагрузка на серв.
есле я тя праильно понял, то это при каждом обновлении, скрипт будет логиниться под юзером, и менять в его профиле подпись! правильно?
но тогда сам юзер не сможет нормально работать т.к. ипри авторизации идет привязка к IP!

хотя можно все сделать через проксю..

Вобще это уж извращения пошли....

Abra
24.02.2007, 18:45
nc.STRIEM все верно говорит. На ЭТОМ форуме сделать нечто такое ТЕКСТОМ простому пользователю невозможно как ни крути. Да и в любом другом скорее всего тоже.
для этого нужен минимум доступ в админку чтобы создать в ней модуль, устанавливающий подпись для конкретного пользователя. Там уже можно сделать так, чтоб подпись возвращалась текстом. Массовости такая идея не получит - вряд ли админам будет в кайф прописывать в шаблонах подпись каждому желающему.

NOmeR1
16.07.2007, 00:02
Гем, твой скрипт не работает, вот мой вариант
<?

function win2uni($s)
{

$s = convert_cyr_string($s,'w','i');

for ($result='', $i=0; $i<strlen($s); $i++)
{
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}

return $result;

}

$ps = file_get_contents('http://bash.org.ru/random');
preg_match_all("#<div id=\"quotes\">(.*?)<hr class=\"iq\">#is", $ps, $out, PREG_SET_ORDER);
foreach($out as $row)
{
$row[1] = preg_replace("#<div class=\"q\">(.*?)</div>(.*?)<div>(.*?)</div>(.*?)</div>#is","\\3",$row[1]);
$row[1] = preg_replace("#\n(.*?)#is","\\1",$row[1]);
$row[1] = str_replace('<br />',"\n",$row[1]);
$row[1] = str_replace('<br>',"\n",$row[1]);
$row[1] = str_replace(" ","",$row[1]);
$row[1] = '<ANTICHAT>'.$row[1].'<ANTICHAT close=1>';
$row[1] = preg_replace("#<ANTICHAT> (.*?) <ANTICHAT close=1>#is","\\1",$row[1]);
$row[1] = str_replace("&lt;","<",$row[1]);
$row[1] = str_replace("&gt;",">",$row[1]);
$row[1] = str_replace('&quot;','"',$row[1]);
}

$row[1] = wordwrap($row[1], 100, "\n");
$count = substr_count($row[1],"\n");

$strl = strlen($row[1]);
$a=split("\n",$row[1]);
for($i=count($a), $max=0;$i>0;$i--)
if(strlen($a[$i-1])>$max)
$max=strlen($a[$i-1]);

$font_name = 'REFSAN.ttf'; //имя шрифта
$font_size = 8; //размер шрифта
$w = $max * ($font_size - 1); //ширина картинки
$h = (($count + 1) * ($font_size * 2)) - 1; //высота картинки

$image = imagecreatetruecolor($w,$h) or die('Cannot create image');

imagefill($image, 0, 0, 0x363940);

$text = win2uni($row[1]);

$X = 1;
$Y = 11;

imagettftext($image, $font_size, 0, $X, $Y, 0xB9B9B9, $font_name, $text);

header('Content-type: image/png');
imagepng($image);
imagedestroy($image);

?>

GreenBear
16.07.2007, 00:07
На ЭТОМ форуме сделать нечто такое ТЕКСТОМ простому пользователю невозможно как ни крути.
я делал. может даже помнит кто.

Zitt
16.07.2007, 00:57
Я помню было такое...

genom--
18.07.2007, 00:43
все накрылись подписи --))))) у некоторых

NOmeR1
18.07.2007, 01:16
все накрылись подписи --))))) у некоторых
Ну не обязательно использовать на ачате :)