/** * Starts an A/B-test * * @param int $id A/B-test ID. * @return bool */ public static function startTest($id) { global $USER; if ($abtest = ABTestTable::getById($id)->fetch()) { $fields = array('START_DATE' => new Type\DateTime(), 'STOP_DATE' => null, 'ACTIVE' => 'Y', 'USER_ID' => $USER->getID()); if (!$abtest['MIN_AMOUNT']) { $capacity = AdminHelper::getSiteCapacity($abtest['SITE_ID']); if ($capacity['min'] > 0) { $fields['MIN_AMOUNT'] = $capacity['min']; } } $result = ABTestTable::update(intval($id), $fields); if ($result->isSuccess()) { Helper::clearCache($abtest['SITE_ID']); return true; } } return false; }