Made a small amendment for now which will produce what I require for the timebeing - its not perfect and its simply checking against one product for now
/applications/trophies/extensions/trophies/TrophyCriteria/Nexus.php
Line 58 - 81
if ( isset( $trophy->crdata['bought_nexus'] ) )
{
try
{
$where = [];
$where[] = [ 'ps_member=?', $member->member_id];
$where[] = \IPS\Db::i()->in( 'nexus_purchases.ps_item_id', explode( ',', $trophy->crdata['bought_nexus'] ));
$count = \IPS\Db::i()->select( 'count(*)', 'nexus_purchases', $where)->first();
if ($count >= 1 )
{
return TRUE;
}
else
{
$failedStep = 'commerce purchases - min : ' . $trophy->crdata['bought_nexus'] . " and member has : 0 ";
return FALSE;
}
}
catch ( \UnderflowException $e )
{
$failedStep = 'commerce purchases - min : ' . $trophy->crdata['bought_nexus'] . " and member has 0";
return FALSE;
}
}