PDA

Zobacz pełną wersję : Automatyczne zmiejszenie zdjęcia



ccihyy
09-04-2011, 19:51
Witam. Czy jest mod/dodatek który umożliwia aby dodane zdjęcie przez zwykłego użytkownika w artykule z hostingu bądź z innego adresu o rozmiarach większych niż np. 500x500 były od razu zmniejszane?

Jdwind
09-04-2011, 20:09
A nie możesz ustawić w CSS max-width/height?

ccihyy
09-04-2011, 20:31
Dzięki, nie pomyślałem o tym :D

dasioo
09-04-2011, 20:42
a i mnie to interesuje, tylko nie wiem w ktorym css to ustawic??
w jakim miejscu??
Chodzi o to ze jhak wstawiam za duze obrazki to je obcina
i nawet nie ma paska aby strone przewinac. Wiec mozna prosic
o dokladniejsza odpowiedz:))??

Gall Anonim
09-04-2011, 21:05
Ludziska na JED jest na max'a pluginów - resizer'ów
więc może tak przeklikac ?

dasioo
09-04-2011, 21:51
co to jest to JED ??

Gall Anonim
09-04-2011, 21:55
Wpisz w google - tak ogólnie to można powiedzieć iż główna składnica dodatków do joomla - JED (http://extensions.joomla.org/search?q=resizer)

---
Cześć @seba.adm :)
(http://extensions.joomla.org/search?q=resizer)

seba.adm
09-04-2011, 21:57
Joomla! Extensions Directory (http://extensions.joomla.org/) - Centralny Katalog Rozszerzeń.

---
Cześć @Gall Anonim :)

dasioo
09-04-2011, 22:25
po tym dodatku "plg_imageresize_v.5.zip" strona mi nie dziala :(

Fatal error: Call to a member function registerEvent() on a non-object in /home/......com/public_html/plugins/content/imageresize/imageresize.php on line 5

Straciłem panowanie nad zapleczem :(:(
Co teraz zrobić?? Nie da się wyłączyc tego plugina:(:

Usunąć go na ostro przez ftp?? to nic nie zepsuje??

A to jest kod imageresize.php:

<?php

defined('_JEXEC') or die('Restricted Access');

$mainframe->registerEvent('onPrepareContent', 'plgImageResize');

function plgImageResize(&$row, &$params, $page)
{

// find all image tags in the content
$pattern = '/<img.src="([^"]*)".([^>]*)>/';
preg_match_all($pattern, $row->text, $matches);

// iterate through them and replace with cached version
for($i = 0; $i< count($matches[0]); $i++)
{
$replacements[] = getCache($matches[1][$i], $matches[2][$i]) . "<br>";
}

for($i = 0; $i < count($replacements); $i++)
{
$row->text = str_replace($matches[0][$i],$replacements[$i] ,$row->text);
}

}

function getCache($imagePath, $restofTag)
{

//first, check to see if the rest of the tag has the width parameter
$wPattern = '/width="([^"]*)"/';
preg_match($wPattern, $restofTag, $match);

if($match[1] > 0)
$width = $match[1];
else{
$imgData = getimagesize($imagePath);
$width = $imgData[0];
}

$fileName = getFileName($imagePath);
$imageDir = getDir($imagePath);
$imageCacheDir = "cache/" . getDir($imagePath);


$fileNameCache = $width . "-" . $fileName;

$cache = $imageCacheDir . "/" . $fileNameCache;

// create the cache if it doesn't exist
if(!is_dir($imageCacheDir))
mkdir($imageCacheDir,0777,true);

// create the file if it doesn't exist
if(!file_exists($cache)) {
exec('convert -resize "' . $width . '" "' . $imageDir . "/" . $fileName . '" "' . $cache . '"');
}

if(!file_exists($cache))
return null;

return "<img src=\"$cache\" $restofTag >";
}


function getDir($fileName){
$pos = strrpos($fileName, "/");
if(!$pos)
return ".";

return substr($fileName,0, $pos);
}

function getFileName($data){
$pos = strrpos($data, "/");
if(!$pos)
return ".";

return substr($data,$pos+1, strlen($data) - $pos - 1);
}

function getExtension($fileName){
$pos = strrpos($fileName, ".");
if(!$pos)
return null;

return substr($fileName,$pos +1, strlen($fileName) - $pos -1);
}

?>
tylko o co chodzi z tym bledem?? Jest zle zaremowany komentarz? ktos wie??

Gall Anonim
10-04-2011, 09:34
Co to znaczy "Straciłem panowanie nad zapleczem"?
Jakie są przesłanki aby ferować taki wyrok iż to ten plugin - uderzysz się w pierś że nie robiłeś nic innego?
O ile kojarzę w początek twojego ostatniego postu to jedno, a druga cześć pojawiła się później.
Z kasowaniem lepiej się wstrzymaj.
Pzdr

dasioo
10-04-2011, 10:02
moge sie zalogowac na zaplecze, moge sie poruszac po pulpicie ale nie moge edytowac szablonow, artykulow itd a tym samym zapisywac zmian, poprawiac ani wylaczac czy wycofywac. Bezposrednim sprawcom jest ten plugin co zreszta widac w moim poscie wyzej:
Fatal error: Call to a member function registerEvent() on a non-object in /home/......com/public_html/plugins/content/imageresize/imageresize.php on line 5
Czyli jednoznacznie w tym imageresize.php jest jakis blad

Gall Anonim
10-04-2011, 10:09
Ciśnie mi się coś na język, ale się powstrzymam - skoro jesteś ekspertem od 1.6 ?
To że pluginie jest błąd nie stanowi podstawy aby twierdzić na 100% iż wina za resztę jest jego.
Odpowiedz na pytanie - co robiłeś pomiędzy zainstalowaniem pluginu a drugą częścią postu - konkretnie - inna odpowiedź wywoła zablokowanie pluginu GA

dasioo
10-04-2011, 10:12
Skopiowalem przez ftp ten bledny plik imageresize.php:

<?php

defined('_JEXEC') or die('Restricted Access');

$mainframe->registerEvent('onPrepareContent', 'plgImageResize');

function plgImageResize(&$row, &$params, $page)
{

// find all image tags in the content
$pattern = '/<img.src="([^"]*)".([^>]*)>/';
preg_match_all($pattern, $row->text, $matches);

// iterate through them and replace with cached version
for($i = 0; $i< count($matches[0]); $i++)
{
$replacements[] = getCache($matches[1][$i], $matches[2][$i]) . "<br>";
}

for($i = 0; $i < count($replacements); $i++)
{
$row->text = str_replace($matches[0][$i],$replacements[$i] ,$row->text);
}

}

function getCache($imagePath, $restofTag)
{

//first, check to see if the rest of the tag has the width parameter
$wPattern = '/width="([^"]*)"/';
preg_match($wPattern, $restofTag, $match);

if($match[1] > 0)
$width = $match[1];
else{
$imgData = getimagesize($imagePath);
$width = $imgData[0];
}

$fileName = getFileName($imagePath);
$imageDir = getDir($imagePath);
$imageCacheDir = "cache/" . getDir($imagePath);


$fileNameCache = $width . "-" . $fileName;

$cache = $imageCacheDir . "/" . $fileNameCache;

// create the cache if it doesn't exist
if(!is_dir($imageCacheDir))
mkdir($imageCacheDir,0777,true);

// create the file if it doesn't exist
if(!file_exists($cache)) {
exec('convert -resize "' . $width . '" "' . $imageDir . "/" . $fileName . '" "' . $cache . '"');
}

if(!file_exists($cache))
return null;

return "<img src=\"$cache\" $restofTag >";
}


function getDir($fileName){
$pos = strrpos($fileName, "/");
if(!$pos)
return ".";

return substr($fileName,0, $pos);
}

function getFileName($data){
$pos = strrpos($data, "/");
if(!$pos)
return ".";

return substr($data,$pos+1, strlen($data) - $pos - 1);
}

function getExtension($fileName){
$pos = strrpos($fileName, ".");
if(!$pos)
return null;

return substr($fileName,$pos +1, strlen($fileName) - $pos -1);
}

?>
błąd siedzi w linii 5 jak zaremuje te komentarze <!-- tak sie remuje --> to blad sie wyswietla w linii 10
jednak nie znam sie na php aby moc naprawic ten kod, w tym caly problem tkwi.
Czy ktos wie jak wyeliminowac ten blad??

---------- Post dodany o 08:12 ---------- Poprzedni post był o 08:09 ----------


Odpowiedz na pytanie - co robiłeś pomiędzy zainstalowaniem pluginu a drugą częścią postu
ZAINSTALOWALEM PLUGIN I SIADLA STRONKA, WIEC PRZEZ FTP WYJALEM TEN PHP I ZMIENILEM REMOWANIE
CO POSKUTKOWALO TYM, ZE BLAD PRZENIOSL SIE DO LINII 10 A STRONKA NADAL ZABLOKOWANA.
WIEC NA 100% WINA LEZY PO ZAINSTALOWANIU TEGOZ PLUGINA. A CZY TO WINA PLUGINA CZY JOOMLI NIE WIEM.
W KAZDYM RAZIE SIE GRYZA

Gall Anonim
10-04-2011, 10:22
Kolego sympatyczny czy to ten plugin (http://extensions.joomla.org/extensions/photos-a-images/articles-images/5694?qh=YToxOntpOjA7czoxMToiaW1hZ2VyZXNpemUiO30%3D )?
Jeżeli tak to - jeżeli zainstalowałeś go na 1.6.xx to po prostu dałeś ciała i od tego zacząć.

dasioo
10-04-2011, 10:32
dokładnie ten :)

Gall Anonim
10-04-2011, 10:36
@dasioo - to ja bym się tak nie uśmiechał bo jakoś nie widzę wersji do joomla 1.6.xx - więc najpierw okulista bo błąd jest w kolorach i niewyraźnym widzeniu (wstępna diagnoza, daltonista, dalekowidz) :lol:
Napisz - czemu nie możesz odinstalować pluginu lub go wyłączyć?

dasioo
10-04-2011, 10:38
a co to za roznica do ktorej wersji?? to ma byc kompatybilne :) :) :)
...nie moge bo zablokowalo, znasz na tyle php aby przerobic
ten plik pod 1.6 ??

Gall Anonim
10-04-2011, 10:47
a co to za roznica do ktorej wersji?? to ma byc kompatybilne :) :) :)
No w mordę - wypowiedź tygodnia (przynajmniej):up:

Litości - różnica taka, jak jest między tobą, a twoimi rodzicami - może nawet odrobinę większa. - w tej sytuacji może poszukaj dodatku dla jedynki

...nie moge bo zablokowalo,
To wyłącz poprzez zmianę w DB z 1 na 0

znasz na tyle php aby przerobic ten plik pod 1.6 ??
Do działu zleceń.

dasioo
10-04-2011, 10:51
To wyłącz poprzez zmianę w DB z 1 na 0
co to jest DB, gdzie tego szukac? jak zmienic? itd...

Gall Anonim
10-04-2011, 10:56
@dasioo - jako wybitny expert od joomla 1.6 powinieneś wiedzieć iż teraz to już po drodze robię sobie jaja - DB to odwrócony akronim Bazy Danych.

dasioo
10-04-2011, 11:03
"jako wybitny expert od joomla 1.6 powinieneś wiedzieć iż teraz to już po drodze robię sobie jaja"
Czas najwyższy, ja już sobie zrobiłem, piękne pisanki :):):)
no ale my tu gadu gadu a co z ta baza danych?? mam ja odlaczyc i co?? co chodzi ci dokladnie??

Gall Anonim
10-04-2011, 11:17
Chyba pójdę się za Ciebie pomodlić.
Za dwie godziny po lekturze tutaj (http://wiki.joomla.pl/index.php/Baza_danych_1.5) zgłoś się po pomoc.
Pzdr
P.S. Ja chyba pójdę na niedzielną mszę

dasioo
10-04-2011, 11:23
w niedziele koniecznie powinno sie chodzic do kosciola o ile jestes katolik
a jesli jestes to pamietaj o sakramencie pojednania w okresie wielkanocnym.
Dziekuję serdecznie za mily poranek :) fajny z ciebie chlopak :):):)
Pzdrawiam i odezwe sie jak sobie poczytam, tylko to jest do wersji 1.5
myslisz ze bedzie kompatybilne z 1.6???
popelniles ten sam blad co ja :) no ale nie marudze wiecej
Milej niedzieli
PS. mozesz sie wybrac na gorzkie zale, ja sie wybieram.
Pozdro:up:

Gall Anonim
10-04-2011, 11:40
Zgadza się - i przyznaję że zrobiłem to przez lenistwo (miałem link do 1.5.xx pod ręką), w zasadzie to winien Ci jestem podziękowania bo przy okazji znalazłem sobie strukturę od 1.6.xx (do dzisiaj nie była mi potrzebna), no i jak widać jest sporo zmian - więc przepraszam z moje lenistwo
Tutaj Masz właściwą. (http://www.torkiljohnsen.com/wp-content/uploads/2010/07/joomla_1.6_database_schema.png)
Pzdr

dasioo
11-04-2011, 20:04
miałem sie odezwac, wiec to robie. Odblokowalem serwis w sposob nastepujacy:
1. zmienilem przez ftp kod resizera php tak aby byl neutralny dla joomli 1.6.1
2. odblokowalo to serwis i mozliwosc deinstalacji
3. odinstalowalem ten resizer i wszystko hula po staremu
4. automatyczna zmiana rozmiaru obrazkow w serwisie na joomli 1.6.1 nadal nie dziala
A co u ciebie Gall?? byles tam gdzie miales byc...??