ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Цитаты с башорга себе в подпись (https://forum.antichat.io/showthread.php?t=33787)

gemaglabin 20.02.2007 17:36

Цитаты с башорга себе в подпись
 
Давно грела эта идея,наконец реализовал.Дергает случайные цитаты с любимого нами башорга и помещает на картинку.Решил взять цитаты , максимальное число строк которых не превышает четыре - побережем нервы людей,смотрящих десятисантиметровые подписи.Скачать можно тут

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

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

PHP код:

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

Цитата:

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

зачем? AMIP от фубара или винамп в текстовик пишет нужную инфу, и всё

Trinux 20.02.2007 18:53

Цитата:

Сообщение от Thanat0z
зачем? AMIP от фубара или винамп в текстовик пишет нужную инфу, и всё

ага, лишь маленькая проблемка - достать с харда посткреатера тот самый файлик =)))

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

ZaCo 20.02.2007 19:34

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

Helios 20.02.2007 20:13

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

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

nc.STRIEM 21.02.2007 00:21

Цитата:

Сообщение от Trinux
(и не надо кричать что это никак не реализовать)

А можно поинтересоваться как? саму идею..
прост я не представляю как ты этот текст вставиш в подпись.

NOmeR1 21.02.2007 00:54

Отличный скрипт)
2nc.STRIEM, просто вместо картинки (в теге [img]) пишешь путь до скрипта %)

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

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

Trinux 21.02.2007 03:48

Цитата:

Сообщение от nc.STRIEM
А можно поинтересоваться как? саму идею..
прост я не представляю как ты этот текст вставиш в подпись.

Я не знаю =) но точно уверен что можно.
Способ всегда найти можно, в этом я точно уверен.

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

Цитата:

Сообщение от NOmeR1
2nc.STRIEM, просто вместо картинки (в теге [img]) пишешь путь до скрипта %)

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

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

Работать будет когда скрипт возвращает картинку, а когда текст не будет!

Цитата:

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

есле я тя праильно понял, то это при каждом обновлении, скрипт будет логиниться под юзером, и менять в его профиле подпись! правильно?
но тогда сам юзер не сможет нормально работать т.к. ипри авторизации идет привязка к IP!

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

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

Abra 24.02.2007 18:45

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

NOmeR1 16.07.2007 00:02

Гем, твой скрипт не работает, вот мой вариант
PHP код:

<?

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

Цитата:

Сообщение от genom--
все накрылись подписи --))))) у некоторых

Ну не обязательно использовать на ачате :)


Время: 15:20