Version 4.7.0

This commit is contained in:
Neo committed 2025-12-19 16:00:35 -08:00
1 parent 517a5e1f70
commit 8ba7d43898
1933 files changed
+65613 -11332

No files matched your search

+33 -19
View File
@@ -117,6 +117,11 @@ class _Item extends \IPS\Content\Item implements
* @brief [Content] Key for hide reasons
*/
public static $hideLogKey = 'gallery-album';
/**
* @brief Used for the datalayer
*/
public static $contentType = 'album_item';
/**
* Get title
@@ -279,29 +284,37 @@ class _Item extends \IPS\Content\Item implements
* @param \IPS\gallery\Category $category Category we are submitted in
* @return string
*/
public static function submitRestrictionWhere( $member, $category )
public static function submitRestrictionWhere( $member, \IPS\gallery\Category $category ) : string
{
$member = $member ?: \IPS\Member::loggedIn();
/* For starters, allow us to submit to public albums and our own albums */
$wheres = array(
'(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_OWNER . ' and album_owner_id=' . $member->member_id . ')',
'(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_PUBLIC . ')'
);
/* Now allow us to submit to albums that allow group submissions */
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_GROUPS . ' AND ' . \IPS\Db::i()->findInSet( 'album_submit_access', $member->groups ) . ')';
/* And where we as an individual member are allowed to submit */
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_MEMBERS . ' AND (' . \IPS\Db::i()->findInSet( 'album_submit_access', $member->socialGroups() ) . ' OR album_owner_id=' . $member->member_id . ' ) )';
/* And finally, if we're in a club and we allow anyone in the club to submit, handle that */
if( $category->club() AND \in_array( $category->club()->id, $member->clubs() ) )
/* Guests can't create albums so we can skip all the member specific stuff */
if( !$member->member_id )
{
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_CLUB . ')';
return '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_PUBLIC . ')';
}
else
{
/* For starters, allow us to submit to public albums and our own albums */
$wheres = array(
'(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_OWNER . ' and album_owner_id=' . $member->member_id . ')',
'(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_PUBLIC . ')'
);
return '(album_owner_id=' . $member->member_id . ' OR ' . implode( ' OR ', $wheres ) . ')';
/* Now allow us to submit to albums that allow group submissions */
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_GROUPS . ' AND ' . \IPS\Db::i()->findInSet( 'album_submit_access', $member->groups ) . ')';
/* And where we as an individual member are allowed to submit */
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_MEMBERS . ' AND (' . \IPS\Db::i()->findInSet( 'album_submit_access', $member->socialGroups() ) . ' OR album_owner_id=' . $member->member_id . ' ) )';
/* And finally, if we're in a club and we allow anyone in the club to submit, handle that */
if( $category->club() AND \in_array( $category->club()->id, $member->clubs() ) )
{
$wheres[] = '(album_submit_type=' . \IPS\gallery\Album::AUTH_SUBMIT_CLUB . ')';
}
return '(album_owner_id=' . $member->member_id . ' OR ' . implode( ' OR ', $wheres ) . ')';
}
}
/**
@@ -486,9 +499,10 @@ class _Item extends \IPS\Content\Item implements
* @param array $articles Articles language strings
* @param array $indexData Search index data
* @param array $itemData Data about the item
* @param bool $includeLinks Include links to member profile
* @return string
*/
public static function searchResultSummaryLanguage( $authorData, $articles, $indexData, $itemData )
public static function searchResultSummaryLanguage( $authorData, $articles, $indexData, $itemData, $includeLinks = TRUE )
{
if( !\in_array( 'IPS\Content\Comment', class_parents( $indexData['index_class'] ) ) )
{
@@ -647,7 +661,7 @@ class _Item extends \IPS\Content\Item implements
$images[] = array( 'gallery_Images' => $image->masked_file_name );
}
return \count( $images ) ? $images : NULL;
return \count( $images ) ? \array_slice( $images, 0, $limit ) : NULL;
}
/**