public static function award_points($params, $userid, $action, $reference, $info) { $functions = null; switch ($params->get('points_system', 'none')) { case 'cjblog': case 'touch': case 'jomsocial': case 'easysocial': $functions = array('newsurvey' => 'com_communitysurveys.new_survey', 'response' => 'com_communitysurveys.credits', 'userresponse' => 'com_communitysurveys.survey_response'); break; case 'aup': $functions = array('newsurvey' => 'sysplgaup_new_survey', 'response' => 'sysplgaup_survey_response', 'userresponse' => 'sysplgaup_response_points'); break; default: return false; } switch ($action) { case 1: // new survey CJFunctions::award_points($params->get('points_system'), $userid, array('points' => $params->get('points_on_new_survey', 0), 'reference' => $reference, 'info' => $info, 'function' => $functions['newsurvey'], 'component' => 'com_communitysurveys')); break; case 2: // new response - charged to author CJFunctions::award_points($params->get('points_system'), $userid, array('points' => $params->get('points_on_new_response', 0), 'reference' => $reference, 'info' => $info, 'function' => $functions['response'], 'component' => 'com_communitysurveys')); break; case 3: // new response - for users CJFunctions::award_points($params->get('points_system'), $userid, array('points' => $params->get('points_on_new_response_user', 0), 'reference' => $reference, 'info' => $info, 'function' => $functions['userresponse'], 'component' => 'com_communitysurveys')); break; } }
function use_credits($userid, $credits, $info) { $params = JComponentHelper::getParams(S_APP_NAME); $points_per_credit = (int) $params->get('points_per_credit', 0); $points = -($credits * $points_per_credit); $function = ''; switch ($params->get('points_system', 'none')) { case 'cjblog': case 'jomsocial': $function = 'com_communitysurveys.credits'; break; case 'aup': $function = 'sysplgaup_survey_credits'; break; case 'easysocial': $api = JPATH_ADMINISTRATOR . '/components/com_easysocial/includes/foundry.php'; if (file_exists($api)) { require_once $api; Foundry::points()->assignCustom($userid, $points, $info); } // now return from here as the points are already added. return true; default: return false; } CJFunctions::award_points($params->get('points_system', 'none'), $userid, array('points' => $points, 'reference' => '', 'info' => $info, 'function' => $function)); }