9:43 20.06.2017
По просьбе заказчика - не помещать загружаемые аватарки в альбомы, покопался и придумал решение.
Значит, открываем: module/photo/include/service/album/album.class.php, находим и удаляем или закомментируем следующей код:
Готово.
Если надо, чтобы альбом "Фотографии профиля" вообще не создавался автоматом, то в этом же файле надо закомментировать код:
Данный код находится строчкой выше предыдущего.
Значит, открываем: module/photo/include/service/album/album.class.php, находим и удаляем или закомментируем следующей код:
if (!empty($aUser['user_image']) && file_exists(Phpfox::getParam('core.dir_user') . sprintf($aUser['user_image'], '')))
{
$aImage = getimagesize(Phpfox::getParam('core.dir_user') . sprintf($aUser['user_image'], ''));
$iFileSize = filesize(Phpfox::getParam('core.dir_user') . sprintf($aUser['user_image'], ''));
$aInsert = array(
'album_id' => $iId,
'title' => date('F j, Y'),
'user_id' => $aUser['user_id'],
'server_id' => $aUser['user_server_id'],
'time_stamp' => PHPFOX_TIME,
'is_cover' => '1',
'is_profile_photo' => '1'
);
if (defined('PHPFOX_FORCE_PHOTO_VERIFY_EMAIL'))
{
$aInsert['view_id'] = 3;
}
$this->database()->update(Phpfox::getT('photo'), array('is_cover' => '0'), 'album_id = ' . (int) $iId);
$iPhotoInsert = $this->database()->insert(Phpfox::getT('photo'), $aInsert);
$sFilename = strtolower(sprintf($aUser['user_image'], ''));
$aExts = preg_split("/[\/\\.]/", sprintf($aUser['user_image'], ''));
$iCnt = count($aExts)-1;
$sExt = strtolower($aExts[$iCnt]);
$this->database()->insert(Phpfox::getT('photo_info'), array(
'photo_id' => $iPhotoInsert,
'file_name' => sprintf($aUser['user_image'], ''),
'mime_type' => $aImage['mime'],
'extension' => $sExt,
'width' => $aImage[0],
'height' => $aImage[1],
'file_size' => $iFileSize
)
);
$sFileName = md5($iPhotoInsert) . '%s.' . $sExt;
$this->database()->update(Phpfox::getT('photo'), array('destination' => $sFileName), 'photo_id = ' . (int) $iPhotoInsert);
copy(Phpfox::getParam('core.dir_user') . sprintf($aUser['user_image'], ''), Phpfox::getParam('photo.dir_photo') . sprintf($sFileName, ''));
$oImage = Phpfox::getLib('image');
foreach(Phpfox::getParam('photo.photo_pic_sizes') as $iSize)
{
// Create the thumbnail
if ($oImage->createThumbnail(Phpfox::getParam('photo.dir_photo') . sprintf($sFileName, ''), Phpfox::getParam('photo.dir_photo') . sprintf($sFileName, '_' . $iSize), $iSize, $iSize, true, ((Phpfox::getParam('photo.enabled_watermark_on_photos') && Phpfox::getParam('core.watermark_option') != 'none') ? (Phpfox::getParam('core.watermark_option') == 'image' ? 'force_skip' : true) : false)) === false)
{
continue;
}
if (Phpfox::getParam('photo.enabled_watermark_on_photos'))
{
$oImage->addMark(Phpfox::getParam('photo.dir_photo') . sprintf($sFileName, '_' . $iSize));
}
}
if (Phpfox::getParam('photo.enabled_watermark_on_photos'))
{
$oImage->addMark(Phpfox::getParam('photo.dir_photo') . sprintf($sFileName, ''));
}
Phpfox::getService('user.activity')->update($aUser['user_id'], 'photo');
}
Готово.
Если надо, чтобы альбом "Фотографии профиля" вообще не создавался автоматом, то в этом же файле надо закомментировать код:
if (!isset($aAlbum['album_id']))
{
$iId = $this->database()->insert(Phpfox::getT('photo_album'), array(
'privacy' => '0',
'privacy_comment' => '0',
'user_id' => $aUser['user_id'],
'name' => "{phrase var='photo.profile_pictures'}",//'Profile Pictures',
'time_stamp' => PHPFOX_TIME,
'profile_id' => $aUser['user_id']
)
);
$this->database()->insert(Phpfox::getT('photo_album_info'), array('album_id' => $iId));
}
else
{
$iId = $aAlbum['album_id'];
}
Данный код находится строчкой выше предыдущего.
- Жалоба