function lobster_CreateAccount($params) { if (!lobster_customFieldExists($params['pid'], 'userid')) { return 'Custom field userid has not been configured.'; } $config = lobster_GetConfig($params); if ($config === false) { return "Error: product misconfiguration."; } if (empty($params['customfields']['userid'])) { $result = lobster_API($config, 'register', array('email' => $params['clientsdetails']['email'])); if (!$result['success']) { return "Error: {$result['message']}."; } else { if (!is_numeric($result['message'])) { return "Error: got invalid response: {$result['message']}."; } else { lobster_customFieldSet($params['pid'], 'userid', $params['serviceid'], $result['message']); $user_id = intval($result['message']); } } } else { $user_id = intval($params['customfields']['userid']); } $result = lobster_API($config, 'credit', array('user_id' => $user_id, 'amount' => $config['amount'])); if (!$result['success']) { return "Error: {$result['message']}."; } else { return "success"; } }
function lobster_customFieldSet($relid, $fieldname, $serviceid, $value) { if (lobster_customFieldExists($relid, $fieldname)) { $result = lobster_mysql_query_safe("SELECT `id` FROM tblcustomfields WHERE `relid` = ? AND `type` = 'product' AND `fieldname` LIKE ?", array($relid, strpos($fieldname, '|') ? $fieldname . '|%' : $fieldname . '%')); $row = mysql_fetch_array($result); lobster_mysql_query_safe('DELETE FROM tblcustomfieldsvalues WHERE `fieldid` = ? AND `relid` = ?', array($row[0], $serviceid)); lobster_mysql_query_safe('INSERT INTO tblcustomfieldsvalues (fieldid, relid, value) VALUES (?, ?, ?)', array($row[0], $serviceid, $value)); } }