/** * Create a new account with a master user * * @static * @since 1.0.1 * @param string $email * @param string $secret * @param string $display_name * @param array $custom_fields * @return string|/argent_error */ public static function account_create($email = NULL, $secret = NULL, $display_name = NULL, $custom_fields = NULL) { /* Create a new database connection */ $db = new argent_database(); /* Create a wsuam_error object */ $error = new argent_error(); $object_id = argent_identifier::object_id('ACC'); $meta_guid = argent_identifier::meta_guid(); $db->start_transaction(); $sql = "\r\n INSERT INTO\r\n `ua_accounts`\r\n VALUES(\r\n '{$db->escape_value($meta_guid)}',\r\n '{$db->escape_value($object_id)}',\r\n 'NEW',\r\n NOW(),\r\n 'USR-TEST',\r\n '{$db->escape_value($_SERVER['REMOTE_ADDR'])}'\r\n )\r\n "; $db->query($sql); $account = array(); $account['db'] =& $db; $account['object_id'] = $object_id; $usr = self::user_create($account, $email, $secret, $display_name, $custom_fields); if (is_a($usr, 'argent_error')) { $db->rollback_transaction(); return $usr; } $db->end_transaction(); return $object_id; }