So far I added "mostviewalb", "mostviewalbf" and "newalbf" meta-alnums; I'm not sure I will ever need "lastalbf", so for now I post only those mods I made to codebase.php.
In function mma_album_types, I added
$album_types['albums'][] = 'newalbf';
$album_types['albums'][] = 'mostviewalb';
$album_types['albums'][] = 'mostviewalbf';
In function mma_get_pic_pos, after
case 'newalb': // New albums
I added
case 'newalbf':
$query = "SELECT ctime FROM {$CONFIG['TABLE_PICTURES']} WHERE pid = $pid";
$result = cpg_db_query($query);
$ctime = mysql_result($result, 0);
mysql_free_result($result);
$query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND p.pid = r.thumb
AND ctime > $ctime
OR ctime = $ctime AND pid < $pid";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
build_caption($rowset, array('ctime'));
break;
case 'mostviewalb': // Most viewed albums
case 'mostviewalbf':
$query = "SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND pid < $pid
GROUP BY p.aid";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
build_caption($rowset, array('hits'));
break;
In function mma_meta_album, before
case 'mostcom':
I added
case 'newalbf': // New albums (album + files views shown)
$album_name = cpg_fetch_icon('last_created', 2)." ".$lang_plugin_more_meta_albums['newalb_title'];
if ($CURRENT_CAT_NAME) {
$album_name .= " - $CURRENT_CAT_NAME";
}
$query = "SELECT pid FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND p.pid = r.thumb";
$result = cpg_db_query($query);
$count = mysql_num_rows($result);
mysql_free_result($result);
$query = "SELECT *, (SUM(p.hits)+r.alb_hits) AS hits FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
GROUP BY p.aid
ORDER BY ctime DESC
{$meta['limit']}";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
build_caption($rowset, array('ctime'));
break;
case 'mostviewalb': // Most viewed albums
$album_name = cpg_fetch_icon('most_viewed', 2)." ".$lang_plugin_more_meta_albums['mostviewalb_title'];
if ($CURRENT_CAT_NAME) {
$album_name .= " - $CURRENT_CAT_NAME";
}
$query = "SELECT r.aid FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND r.alb_hits > 0
GROUP BY p.aid";
$result = cpg_db_query($query);
$count = mysql_num_rows($result);
mysql_free_result($result);
$query = "SELECT * FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND r.alb_hits > 0
GROUP BY r.aid
ORDER BY r.alb_hits DESC
{$meta['limit']}";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
build_caption($rowset, array('alb_hits'), 'albums');
break;
case 'mostviewalbf': // Most viewed albums
$album_name = cpg_fetch_icon('most_viewed', 2)." ".$lang_plugin_more_meta_albums['mostviewalbf_title'];
if ($CURRENT_CAT_NAME) {
$album_name .= " - $CURRENT_CAT_NAME";
}
$query = "SELECT r.aid FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
GROUP BY p.aid";
$result = cpg_db_query($query);
$count = mysql_num_rows($result);
mysql_free_result($result);
$query = "SELECT *, (SUM(p.hits)+r.alb_hits) AS hits FROM {$CONFIG['TABLE_PICTURES']} AS p
INNER JOIN {$CONFIG['TABLE_ALBUMS']} AS r ON r.aid = p.aid
$RESTRICTEDWHERE
AND approved = 'YES'
AND hits > 0
GROUP BY r.aid
ORDER BY hits DESC
{$meta['limit']}";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
build_caption($rowset, array('hits'));
break;
I worked on plugin revision 7997, I don't know if something has changed in plugin structure meantime.