Moja klasa (stara wersja):
http://rafb.net/p/REe4a563.htmlużycie bardzo proste, obczaj to:
<?php
$oView->aDataPhotos = $oModelFoto->getUserPhotos($oUser->id);
if($oInput->post('data') !== null)
{
$oFile = new Vfile('file');
if(count($oView->aDataPhotos) >= PHOTO_MAXUSERPHOTOS
) $aErrors[1] = 'Dodaleś już '.PHOTO_MAXUSERPHOTOS.' fotografii, nie możesz posiadać więcej.';
if(!$oFile->temp)
$aErrors[1] = 'Nie wybrano pliku';
{
$bImage = true;
try
{
$oImage1 = new Vimage($oFile->temp);
$oImage2 = new Vimage($oFile->temp);
}
catch(VimageException $oException)
{
$aErrors[1] = 'Niewłaściwy format pliku: ' . $oFile1->type;
$bImage = false;
}
if($oImage1->getX() < PHOTO_F_MIN_X)
$aErrors[1] = 'Obraz jest za wązki!';
elseif($oImage1->getY() < PHOTO_F_MIN_Y)
$aErrors[1] = 'Obraz jest za niski!';
if($aErrors[1])
$aErrors[1] .= ' Minimalna szerokość to ' . PHOTO_F_MIN_X . ' pikseli, a wysokość to ' . PHOTO_F_MIN_Y . ' pikseli';
if(!$aErrors[1] && $bImage === true)
{
try
{
// clone object
//$oImage1 = $oImage; // full
//$oImage2 = $oImage; // thumb
$oImage1->imageResize(PHOTO_F_MAX_X, PHOTO_F_MAX_Y, false);
$oImage2->imageResize(PHOTO_T_MAX_X
, PHOTO_T_MAX_Y
, true, array(255
,255
,255
));
//$oImage3 = new Vimage(PHOTO_TEXT_IMG);
//$oImage1->insertImage($oImage3->Handler(), 4, 75);
//$oImage1->insertTextTTF(sprintf(PHOTO_TEXT, $oUser->name), $oImage1->getColor(255,255,255), PHOTO_TEXT_FONT, PHOTO_TEXT_SIZE, 70, 17);
$oImage1->save(PHOTO_F_PATH . $sName, 70);
$oImage2->save(PHOTO_T_PATH . $sName);
}
catch(VimageException $oException)
{
$aErrors[1] = 'Błąd podczas przetwarzania pliku: '.$oException->getMessage().'. spróbuj jeszcze raz.';
$bImage = false;
}
if($bImage === true)
{
$oModelFoto->setPhoto($oUser->id, $sName, $oInput->post('desc'));
$oView->aDataPhotos = $oModelFoto->getUserPhotos($oUser->id);
try
{
$this->getApplet('free_pro', 'add', array('user' => $oUser->id, 'owner' => $oUser->hasGroup('pro'))); }
catch(VcontrollerException $oException)
{
$oView->bPro = ($oException->getMessage() == '1') ? true : false;
}
$_POST['desc'] = '';
}
}
}
?>