Długie linki i duże grafiki na forum - rozwiązanie
|
jantom |
Dodany dnia 17.02.2007 19:25:45
|
Weteran
Postów: 3460 Pomógł: 123
Data rejestracji: 31.03.2005 20:10
|
Skrypt musi przetrawić zdjęcia. Jeśli są to kobyłki, może to chwilę zająć.
Edytowane przez Pieka dnia 17.12.2007 11:37:54
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 18:50:50
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Eklipse |
Dodany dnia 17.02.2007 20:13:56
|
Przedszkolak
Postów: 51 Ostrzeżeń: 1
Data rejestracji: 25.07.2006 10:12
|
Tzn. ładuje się i ładuje bez żadnych efektów.... A może ktoś dać te pliki zmodyfikowane, np. Wooya? A czy może to dlatego że mam fusionboarda? Linki mi ładnie skraca...
Edytowane przez Pieka dnia 17.12.2007 11:38:09
|
|
|
|
jantom |
Dodany dnia 17.02.2007 20:32:42
|
Weteran
Postów: 3460 Pomógł: 123
Data rejestracji: 31.03.2005 20:10
|
Na Fusionboardzie resizer działała bez problemów (przynajmniej w okresie moich testów).
Edytowane przez Pieka dnia 17.12.2007 11:38:20
|
|
|
|
Eklipse |
Dodany dnia 28.02.2007 17:23:53
|
Przedszkolak
Postów: 51 Ostrzeżeń: 1
Data rejestracji: 25.07.2006 10:12
|
A mógłbyś jantom wrzucić swojego subheader.php ? Bym sobie porównał... Dzięki.
Edytowane przez Pieka dnia 17.12.2007 11:38:32
|
|
|
|
Kysiu |
Dodany dnia 01.07.2007 20:17:37
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
mam taki problem
wszystko działa cacy z resizerem, ale jak dodaje załącznik na forum w postaci gifa to on się nie wyświetla tylko mam podany taki adres
[img]../forum/attachments/obrazek.gif[/img]
co z tym fantem zrobić ?
ps. żeby ktoś nie myślał, że to zlinkowane jest pod ten plik, nie
to jest wyświetlane w postaci tekstowej nie url
Odswiezono na prosbe autora ostatniego posta./Pieka
Kysiu dodał/a następującą grafikę:
Edytowane przez Pieka dnia 17.12.2007 11:38:42
|
|
|
|
h |
Dodany dnia 18.07.2007 14:58:04
|
Początkujący
Postów: 108
Data rejestracji: 14.02.2007 21:16
ZBANOWANY: Dożywotnio
|
A jak wygląda wgranie takiego autoresizera dla PHP-Fusion v6.01.11 ???? tak jak do 6.01.6.
Edytowane przez Pieka dnia 17.12.2007 11:38:54
Jeżeli czegoś nie ma w Google to nie istnieje - Bill Gates
|
|
|
|
Pieka |
Dodany dnia 18.07.2007 20:40:13
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
h napisał/a:
A jak wygląda wgranie takiego autoresizera dla PHP-Fusion v6.01.11 ???? tak jak do 6.01.6.
W zasadzie tak.
Edytowane przez Pieka dnia 17.12.2007 11:39:05
Jestem jaki jestem
|
|
|
|
h |
Dodany dnia 21.07.2007 12:16:58
|
Początkujący
Postów: 108
Data rejestracji: 14.02.2007 21:16
ZBANOWANY: Dożywotnio
|
Tak to robiłem mam fusiona 11 i po tym zabiegu nie wyswietlają mi sie obrakzi w załcznik jest do nich adres tylko np [img]../forum/attachments/2005_1[1].jpg[/img]
maincore.php
// Trim a line of text to a preferred length
function trimlink($text, $length) {
$dec = array("\"", "'", "\\", '\"', "\'", "<", ">");
$enc = array(""", "'", "\", """, "'", "<", ">");
$text = str_replace($enc, $dec, $text);
if (strlen($text) > $length) $text = substr($text, 0, ($length-3))."...";
$text = str_replace($dec, $enc, $text);
return $text;
}
// Validate numeric input
function isNum($value) {
return (preg_match("/^[0-9]+$/", $value));
}
[b]//WOOYA - Validate bbcode images
function isImage($matches) {
$res = "";
if (!isNum($matches[1])) {
$img = $matches[1].str_replace(array(".php","?","&","="),"",$matches[3]).$matches[4];
$size = @getimagesize($img);
if ($size[0]) {
if (verify_image($img)) {
if ($size[0]>400) {
$y_prop = ceil($size[1]/($size[0]/400));
$res = "<div class='small' style='border:1px solid black;width:400px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:400px;height:".$y_prop."px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:402px'>".$size[0]."x".$size[1]." [".str_replace(".", "", strtoupper($matches[4]))."]</div>";
} else if ($size[1]>300) {
$x_prop = ceil($size[0]/($size[1]/300));
$res = "<div class='small' style='border:1px solid black;width:".$x_prop."px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:".$x_prop."px;height:300px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:".($x_prop+2)."px'>".$size[0]."x".$size[1]." [".str_replace(".", "", strtoupper($matches[4]))."]</div>";
} else {
$res = "<img src='".$img."' style='border:0px;' alt='".$img."'>";
}
} else {
$res = "<span style='color:red'><b>WARNING!</b> Propably exploit image found! [$img]</span>";
//'http://'.$_SERVER['SERVER_NAME'].FUSION_REQUEST.FUSION_QUERY;
}
} else {
$res = "[img]".$matches[1].$matches[3].$matches[4]."[/img]";
}
} else {
$img = $matches[3].str_replace(array(".php","?","&","="),"",$matches[5]).$matches[6];
$size = @getimagesize($img);
if ($size[0]) {
if (verify_image($img)) {
if ($size[0]>$matches[1]) {
if ($size[0]>400) {
$y_prop = ceil($size[1]/($size[0]/400));
$res = "<div class='small' style='border:1px solid black;width:400px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:400px;height:".$y_prop."px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:402px'>".$size[0]."x".$size[1]." [".str_replace(".", "", strtoupper($matches[6]))."]</div>";
} else if ($size[1]>300) {
$x_prop = ceil($size[0]/($size[1]/300));
$res = "<div class='small' style='border:1px solid black;width:".$x_prop."px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:".$x_prop."px;height:300px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:".($x_prop+2)."px'>".$size[0]."x".$size[1]." [".str_replace(".", "", strtoupper($matches[6]))."]</div>";
} else {
$res = "<div class='small' style='border:1px solid black;width:".$matches[1]."px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:".$matches[1]."px;height:".$matches[2]."px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:".($matches[1]+2)."px'>".$size[0]."x".$size[1]." [".str_replace(".", "", strtoupper($matches[6]))."]</div>";
}
} else {
$res = "<img src='".$img."' style='border:0px;' alt='".$img."'>";
}
} else {
$res = "<span style='color:red'><b>WARNING!</b> Propably exploit image found! [$img]</span>";
}
} else {
$res = "[img]".$matches[1].$matches[3].$matches[4]."[/img]";
}
}
unset($size);
return $res;
}
//WOOYA - Validate bbcode images[/b]
// Parse smiley bbcode into HTML images
function parsesmileys($message) {
$smiley = array(
function parseubb($text) {
$text = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $text);
$text = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $text);
$text = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $text);
$text = preg_replace('#\[center\](.*?)\[/center\]#si', '<center>\1</center>', $text);
$text = preg_replace('#\[url\]([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"\+\(\)]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'\\2\\3\' target=\'_blank\' title=\'\\2\\3\'>'.trimlink('\\2\\3', 20).(strlen('\\2\\3')>30?substr('\\2\\3', strlen('\\2\\3')-10, strlen('\\2\\3')):'').'</a>'", $text);
$text = preg_replace('#\[url\]([\r\n]*)([^\s\'\"\+\(\)]*?)([\r\n]*)\[/url\]#sie', "'<a href=\'http://\\2\' target=\'_blank\' title=\'\\2\'>'.trimlink('\\2', 20).(strlen('\\2')>30?substr('\\2', strlen('\\2')-10, strlen('\\2')):'').'</a>'", $text);
$text = preg_replace('#\[url=([\r\n]*)(http://|ftp://|https://|ftps://)([^\s\'\"\+\(\)]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'\2\3\' target=\'_blank\' title=\'\2\3\'>\4</a>', $text);
$text = preg_replace('#\[url=([\r\n]*)([^\s\'\"\+\(\)]*?)\](.*?)([\r\n]*)\[/url\]#si', '<a href=\'http://\2\' target=\'_blank\' title=\'\2\'>\3</a>', $text);
$text = preg_replace('#\[mail\]([\r\n]*)([^\s\'\";:\+]*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\2</a>', $text);
$text = preg_replace('#\[mail=([\r\n]*)([^\s\'\";:\+]*?)\](.*?)([\r\n]*)\[/mail\]#si', '<a href=\'mailto:\2\'>\2</a>', $text);
$text = preg_replace('#\[small\](.*?)\[/small\]#si', '<span class=\'small\'>\1</span>', $text);
$text = preg_replace('#\[color=(black|blue|brown|cyan|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|violet|white|yellow)\](.*?)\[/color\]#si', '<span style=\'color:\1\'>\2</span>', $text);
$text = preg_replace('#\[flash width=([0-9]*?) height=([0-9]*?)\]([^\s\'\";:\+]*?)(\.swf)\[/flash\]#si', '<object classid=\'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\' codebase=\'http://active.macromedia.com/flash6/cabs/swflash.cab#version=6,0,0,0\' id=\'\3\4\' width=\'\1\' height=\'\2\'><param name=movie value=\'\3\4\'><param name=\'quality\' value=\'high\'><param name=\'bgcolor\' value=\'#ffffff\'><embed src=\'\3\4\' quality=\'high\' bgcolor=\'#ffffff\' width=\'\1\' height=\'\2\' type=\'application/x-shockwave-flash\' pluginspage=\'http://www.macromedia.com/go/getflashplayer\'></embed></object>', $text);
[b]$text = preg_replace_callback("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si","isImage",$text);[/b]
$qcount = substr_count($text, "[quote]"); $ccount = substr_count($text, "[code]");
for ($i=0;$i < $qcount;$i++) $text = preg_replace('#\[quote\](.*?)\[/quote\]#si', '<div class=\'quote\'>\1</div>', $text);
for ($i=0;$i < $ccount;$i++) $text = preg_replace('#\[code\](.*?)\[/code\]#si', '<div class=\'quote\' style=\'width:400px;white-space:nowrap;overflow:auto\'><code style=\'white-space:nowrap\'>\1<br><br><br></code></div>', $text);
$text = descript($text,false);
return $text;
}
viewtheard.php
href='post.php?action=edit&forum_id=$forum_id&thread_id=".$data['thread_id']."&post_id=".$data['post_id']."'><img src='".THEME."forum/edit.gif' alt='".$locale['568']."' style='border:0px;'></a>\n";
if ($data['post_ip'] != "0.0.0.0" && file_exists(THEME."forum/ip.gif")) echo "<img src='".THEME."forum/ip.gif' alt='".$locale['570']."' title='".$data['post_ip']."' style='border:0px;'>\n";
}
}
}
echo "</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign='top' height='$height' class='tbl1'>
$message";
if ($data['attach_id']) {
if (in_array($data['attach_ext'], $imagetypes) && @getimagesize(FORUM."attachments/".$data['attach_name'])) {
[b]echo "<hr>\n".$data['user_name'].$locale['506']."<br><br>\n".parseubb("[img]".FORUM."attachments/".$data['attach_name']."[/img]");[/b]
} else {
echo "<hr>\n".$data['user_name'].$locale['507']."<br>\n<a href='".FUSION_SELF."?forum_id=$forum_id&thread_id=$thread_id&getfile=".$data['post_id']."'>".$data['attach_name']."</a>";
}
}
if ($data['post_edittime'] != "0") {
echo "<hr>\n".$locale['508'].$edituser.$locale['509']."$edittime";
}
echo "</td>
</tr>
<tr>
Edytowane przez Pieka dnia 17.12.2007 11:39:17
Jeżeli czegoś nie ma w Google to nie istnieje - Bill Gates
|
|
|
|
Kysiu |
Dodany dnia 22.07.2007 14:54:50
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
proszę, tutaj mam czystego fusiona
http://resizer.sa...d=1#post_1
Przecież pomniejsza mi linki dodane w treści postu, ale nie jako załącznik.
Zobacz zresztą w tym linku co podałem. Czyli ta funkcja działa ?
Edytowane przez Pieka dnia 17.12.2007 11:39:31
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 14:57:51
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Edytuj plik viewthread.php, znajdz (linia ~170):
if ($data['attach_id']) {
if (in_array($data['attach_ext'], $imagetypes) && @getimagesize(FORUM."attachments/".$data['attach_name'])) {
echo "<hr>\n".$data['user_name'].$locale['506']."<br><br>\n<img src='".FORUM."attachments/".$data['attach_name']."'>";
} else {
echo "<hr>\n".$data['user_name'].$locale['507']."<br>\n<a href='".FUSION_SELF."?forum_id=$forum_id&thread_id=$thread_id&getfile=".$data['post_id']."'>".$data['attach_name']."</a>";
}
}
i zamien na:
if ($data['attach_id']) {
if (in_array($data['attach_ext'], $imagetypes) && @getimagesize(FORUM."attachments/".$data['attach_name'])) {
//[START] Wooya - autoresizator duzych grafik na forum
$img = FORUM."attachments/".$data['attach_name'];
if ($size=@getimagesize($img)) {
if ($size[0]>400) {
$y_prop = ceil($size[1]/($size[0]/400));
$res = "<div class='small' style='border:1px solid black;width:398px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:398px;height:".$y_prop."px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:400px'>".$size[0]."x".$size[1]." [".strtoupper(str_replace('.', '', $data['attach_ext']))."]</div>";
} else if ($size[1]>300) {
$x_prop = ceil($size[0]/($size[1]/300));
$res = "<div class='small' style='border:1px solid black;width:".$x_prop."px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:".$x_prop."px;height:300px' alt='".$img."' border='0'></a></div><div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:".$x_prop."px'>".$size[0]."x".$size[1]." [".strtoupper(str_replace('.', '', $data['attach_ext']))."]</div>";
} else {
$res = "<img src='".$img."' style='border:0px;' alt='".$img."'>";
}
} else {
$res = "[img]".$img."[/img]";
}
echo "<hr>\n".$data['user_name'].$locale['506']."<br><br>\n".$res;
//[END] Wooya - autoresizator duzych grafik na forum
} else {
echo "<hr>\n".$data['user_name'].$locale['507']."<br>\n<a href='".FORUM."attachments/".$data['attach_name']."'>".$data['attach_name']."</a>";
}
}
Powinno dzialac :)
Wooya nie ma czasu (praca nad v7) i jak widze zapomnial o tym, wiec uzupelnilem za niego jego rozwiazaniem ;)
Edytowane przez Pieka dnia 18.07.2009 12:04:04
Jestem jaki jestem
|
|
|
|
Kysiu |
Dodany dnia 22.07.2007 15:14:02
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
Działa pięknie, tylko coś to czarne nie do końca dochodzi.
Możesz luknać
http://resizer.sa...hread_id=1
Edytowane przez Pieka dnia 17.12.2007 11:39:58
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 15:25:02
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Tak, bo Wooya zapomnial zmniejszyc div'a i skalowana grafike o 2px, ktore dal na ramke.
Chodzi o te czesc:
<div class='small' style='border:1px solid black;width:398px'><a href='".$img."' target='_blank'><img src='".$img."' style='width:398px;height:".$y_prop."px' alt='".$img."' border='0'></a></div>
Kod w poprzednim poscie poprawilem i jest juz Ok.
Edytowane przez Pieka dnia 18.07.2009 12:05:15
Jestem jaki jestem
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 15:26:17
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Test zalacznikow na Supporcie...
Przy okazji u nas rowniez poprawilem
Pieka dodał/a następującą grafikę:
Edytowane przez Pieka dnia 17.12.2007 11:40:19
Jestem jaki jestem
|
|
|
|
Kysiu |
Dodany dnia 22.07.2007 15:46:02
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
ja zmieniłem to
<div class='small' style='background-color:black;color:white;text-align:center;padding-top:4px;padding-bottom:4px;width:[b]402[/b]px'>
Jedna rzecz mnie zastanawia.
Tutaj się szybciej wczytuje strona. http://resizer.sa...hread_id=1
Niż tutaj http://saintseiya...#post_6233
Na obydwu jest to samo.
Ps. Dziękuję Pieka za rozwiązanie. Ja sam raczej bym się z tym nie uporał.
Edytowane przez Pieka dnia 17.12.2007 11:40:29
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 16:04:03
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Kysiu napisał/a:
ja zmieniłem to...
Ty zmieniles wielkosc div'a z opisem wielkosci grafiki
Tez mozna, ale jak ma byc 400x300, to musisz po mojemu. A ja lubie rowne wielkosci
Tylko teoretycznie, bo na pierwszej stronie nie masz graficznego headera, ktory juz sam z siebie spowalnia ladowanie strony, a jak dodasz do tego zaincludowane panele, to masz, to co widac.
Kysiu napisał/a:
Ps. Dziękuję Pieka za rozwiązanie. Ja sam raczej bym się z tym nie uporał.
Podziekowania w strone Wooyi, to on jest autorem, ja tylko poprawilem i podalem pod nochal
Edytowane przez Pieka dnia 17.12.2007 11:40:41
Jestem jaki jestem
|
|
|
|
Kysiu |
Dodany dnia 22.07.2007 16:13:36
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
Tobie do 400 daje ten 1 px obramowania , dałem tak jak miał Wooya
Zobacz tutaj.
http://www.php-fu...d_id=13701
Edytowane przez Pieka dnia 17.12.2007 11:40:52
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 16:36:00
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
A daj sobie jak chcesz, co mnie to... Twoja strona, Twoj wybor :)
Na podanej stronie juz jest wszystko OK. Poprawilem wyswietlanie przez dodanie:
border:1px solid black
Jak dodasz border do div'a z opisem w czesci warunku skalowania wysokosci, to bedziesz mial juz wszystko na "tip-top", jak to mowi nasza Pani Administrator ;)
Że ja niby? Ma się w końcu ten wrodzony talent, prawda? :P No i władzę nad resztą Administracji :D - Milka
Edytowane przez Pieka dnia 17.12.2007 11:41:04
Jestem jaki jestem
|
|
|
|
Kysiu |
Dodany dnia 22.07.2007 17:16:27
|
Przedszkolak
Postów: 64 Ostrzeżeń: 2
Data rejestracji: 21.01.2007 21:48
|
I wszystko pięknie już działa Dziękuję jeszcze raz ślicznie
Aha i działa także na ep to dla innych extremowcow
Edytowane przez Pieka dnia 17.12.2007 11:41:16
|
|
|
|
h |
Dodany dnia 22.07.2007 21:22:27
|
Początkujący
Postów: 108
Data rejestracji: 14.02.2007 21:16
ZBANOWANY: Dożywotnio
|
a wie ktoś czemu u mnie nie dziala?
Edytowane przez Pieka dnia 17.12.2007 11:41:27
Jeżeli czegoś nie ma w Google to nie istnieje - Bill Gates
|
|
|
|
Pieka |
Dodany dnia 22.07.2007 21:50:22
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Bo masz serwer w trybie safe_mode On, czyli bezpiecznym.
Ewentualnie zle wyedytowales pliki.
Edytowane przez Pieka dnia 17.12.2007 11:41:37
Jestem jaki jestem
|
|
|