rovided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type null $last_used Null. * @type null $last_ip Null. * } * @param string $new_password The generated application password in plain text. * @param array $args { * Arguments used to create the application password. * * @type string $name The name of the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * } */ do_action( 'wp_create_application_password', $user_id, $new_item, $new_password, $args ); return array( $new_password, $new_item ); } /** * Gets a user's application passwords. * * @since 5.6.0 * * @param int $user_id User ID. * @return array { * The list of application passwords. * * @type array ...$0 { * @type string $uuid The unique identifier for the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type int|null $last_used The Unix timestamp of the GMT date the application password was last used. * @type string|null $last_ip The IP address the application password was last used by. * } * } */ public static function get_user_application_passwords( $user_id ) { $passwords = get_user_meta( $user_id, static::USERMETA_KEY_APPLICATION_PASSWORDS, true ); if ( ! is_array( $passwords ) ) { return array(); } $save = false; foreach ( $passwords as $i => $password ) { if ( ! isset( $password['uuid'] ) ) { $passwords[ $i ]['uuid'] = wp_generate_uuid4(); $save = true; } } if ( $save ) { static::set_user_application_passwords( $user_id, $passwords ); } return $passwords; } /** * Gets a user's application password with the given UUID. * * @since 5.6.0 * * @param int $user_id User ID. * @param string $uuid The password's UUID. * @return array|null { * The application password if found, null otherwise. * * @type string $uuid The unique identifier for the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type int|null $last_used The Unix timestamp of the GMT date the application password was last used. * @type string|null $last_ip The IP address the application password was last used by. * } */ public static function get_user_application_password( $user_id, $uuid ) { $passwords = static::get_user_application_passwords( $user_id ); foreach ( $passwords as $password ) { if ( $password['uuid'] === $uuid ) { return $password; } } return null; } /** * Checks if an application password with the given name exists for this user. * * @since 5.7.0 * * @param int $user_id User ID. * @param string $name Application name. * @return bool Whether the provided application name exists. */ public static function application_name_exists_for_user( $user_id, $name ) { $passwords = static::get_user_application_passwords( $user_id ); foreach ( $passwords as $password ) { if ( strtolower( $password['name'] ) === strtolower( $name ) ) { return true; } } return false; } /** * Updates an application password. * * @since 5.6.0 * @since 6.8.0 The actual password should now be hashed using wp_fast_hash(). * * @param int $user_id User ID. * @param string $uuid The password's UUID. * @param array $update { * Information about the application password to update. * * @type string $uuid The unique identifier for the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type int|null $last_used The Unix timestamp of the GMT date the application password was last used. * @type string|null $last_ip The IP address the application password was last used by. * } * @return true|WP_Error True if successful, otherwise a WP_Error instance is returned on error. */ public static function update_application_password( $user_id, $uuid, $update = array() ) { $passwords = static::get_user_application_passwords( $user_id ); foreach ( $passwords as &$item ) { if ( $item['uuid'] !== $uuid ) { continue; } if ( ! empty( $update['name'] ) ) { $update['name'] = sanitize_text_field( $update['name'] ); } $save = false; if ( ! empty( $update['name'] ) && $item['name'] !== $update['name'] ) { $item['name'] = $update['name']; $save = true; } if ( $save ) { $saved = static::set_user_application_passwords( $user_id, $passwords ); if ( ! $saved ) { return new WP_Error( 'db_error', __( 'Could not save application password.' ) ); } } /** * Fires when an application password is updated. * * @since 5.6.0 * @since 6.8.0 The password is now hashed using wp_fast_hash() instead of phpass. * Existing passwords may still be hashed using phpass. * * @param int $user_id The user ID. * @param array $item { * The updated application password details. * * @type string $uuid The unique identifier for the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type int|null $last_used The Unix timestamp of the GMT date the application password was last used. * @type string|null $last_ip The IP address the application password was last used by. * } * @param array $update The information to update. */ do_action( 'wp_update_application_password', $user_id, $item, $update ); return true; } return new WP_Error( 'application_password_not_found', __( 'Could not find an application password with that id.' ) ); } /** * Records that an application password has been used. * * @since 5.6.0 * * @param int $user_id User ID. * @param string $uuid The password's UUID. * @return true|WP_Error True if the usage was recorded, a WP_Error if an error occurs. */ public static function record_application_password_usage( $user_id, $uuid ) { $passwords = static::get_user_application_passwords( $user_id ); foreach ( $passwords as &$password ) { if ( $password['uuid'] !== $uuid ) { continue; } // Only record activity once a day. if ( $password['last_used'] + DAY_IN_SECONDS > time() ) { return true; } $password['last_used'] = time(); $password['last_ip'] = $_SERVER['REMOTE_ADDR']; $saved = static::set_user_application_passwords( $user_id, $passwords ); if ( ! $saved ) { return new WP_Error( 'db_error', __( 'Could not save application password.' ) ); } return true; } // Specified application password not found! return new WP_Error( 'application_password_not_found', __( 'Could not find an application password with that id.' ) ); } /** * Deletes an application password. * * @since 5.6.0 * * @param int $user_id User ID. * @param string $uuid The password's UUID. * @return true|WP_Error Whether the password was successfully found and deleted, a WP_Error otherwise. */ public static function delete_application_password( $user_id, $uuid ) { $passwords = static::get_user_application_passwords( $user_id ); foreach ( $passwords as $key => $item ) { if ( $item['uuid'] === $uuid ) { unset( $passwords[ $key ] ); $saved = static::set_user_application_passwords( $user_id, $passwords ); if ( ! $saved ) { return new WP_Error( 'db_error', __( 'Could not delete application password.' ) ); } /** * Fires when an application password is deleted. * * @since 5.6.0 * * @param int $user_id The user ID. * @param array $item The data about the application password. */ do_action( 'wp_delete_application_password', $user_id, $item ); return true; } } return new WP_Error( 'application_password_not_found', __( 'Could not find an application password with that id.' ) ); } /** * Deletes all application passwords for the given user. * * @since 5.6.0 * * @param int $user_id User ID. * @return int|WP_Error The number of passwords that were deleted or a WP_Error on failure. */ public static function delete_all_application_passwords( $user_id ) { $passwords = static::get_user_application_passwords( $user_id ); if ( $passwords ) { $saved = static::set_user_application_passwords( $user_id, array() ); if ( ! $saved ) { return new WP_Error( 'db_error', __( 'Could not delete application passwords.' ) ); } foreach ( $passwords as $item ) { /** This action is documented in wp-includes/class-wp-application-passwords.php */ do_action( 'wp_delete_application_password', $user_id, $item ); } return count( $passwords ); } return 0; } /** * Sets a user's application passwords. * * @since 5.6.0 * * @param int $user_id User ID. * @param array $passwords { * The list of application passwords. * * @type array ...$0 { * @type string $uuid The unique identifier for the application password. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $name The name of the application password. * @type string $password A one-way hash of the password. * @type int $created Unix timestamp of when the password was created. * @type int|null $last_used The Unix timestamp of the GMT date the application password was last used. * @type string|null $last_ip The IP address the application password was last used by. * } * } * @return int|bool User meta ID if the key didn't exist (ie. this is the first time that an application password * has been saved for the user), true on successful update, false on failure or if the value passed * is the same as the one that is already in the database. */ protected static function set_user_application_passwords( $user_id, $passwords ) { return update_user_meta( $user_id, static::USERMETA_KEY_APPLICATION_PASSWORDS, $passwords ); } /** * Sanitizes and then splits a password into smaller chunks. * * @since 5.6.0 * * @param string $raw_password The raw application password. * @return string The chunked password. */ public static function chunk_password( #[\SensitiveParameter] $raw_password ) { $raw_password = preg_replace( '/[^a-z\d]/i', '', $raw_password ); return trim( chunk_split( $raw_password, 4, ' ' ) ); } /** * Hashes a plaintext application password. * * @since 6.8.0 * * @param string $password Plaintext password. * @return string Hashed password. */ public static function hash_password( #[\SensitiveParameter] string $password ): string { return wp_fast_hash( $password ); } /** * Checks a plaintext application password against a hashed password. * * @since 6.8.0 * * @param string $password Plaintext password. * @param string $hash Hash of the password to check against. * @return bool Whether the password matches the hashed password. */ public static function check_password( #[\SensitiveParameter] string $password, string $hash ): bool { if ( ! str_starts_with( $hash, '$generic$' ) ) { /* * If the hash doesn't start with `$generic$`, it is a hash created with `wp_hash_password()`. * This is the case for application passwords created before 6.8.0. */ return wp_check_password( $password, $hash ); } return wp_verify_fast_hash( $password, $hash ); } } VARIOUS - EARLY ROCK & ROLL FROM NEW ZEALAND vol 5 & 6 - COLLECTOR DOUBLE CD - No Hit Records

VARIOUS – EARLY ROCK & ROLL FROM NEW ZEALAND vol 5 & 6 – COLLECTOR DOUBLE CD

Showing that rock n roll spread around the whole world we have this double CD bargain of tracks from New Zealand complied by Collector Records. You are not going to find these tracks anywhere else.

1-1 –Johnny Cooper & Ken Avery & His Rockin’ Rhythm Rock Around The Clock
1-2 –Johnny Cooper & Ken Avery & His Rockin’ Rhythm Blackberry Boogie
1-3 –Johnny Cooper & Don Richardson’s Festival Five See You Later Alligator
1-4 –Johnny Cooper & Don Richardson’s Festival Five Paper Boy
1-5 –Johnny Cooper Pie Cart Rock And Roll
1-6 –Johnny Cooper Giddy Up A Ding Dong
1-7 –Max Merritt & The Meteors* Get A Haircut
1-8 –Max Merritt & The Meteors* Dixieland Rock
1-9 –Max Merritt & The Meteors* Kiss Curl
1-10 –Max Merritt & The Meteors* You Made Me Love You
1-11 –Max Merritt & The Meteors* Sea Cruise
1-12 –Max Merritt & The Meteors* I’ll Take You Home Again
1-13 –Max Merritt & The Meteors* The Way I Walk
1-14 –Max Merritt & The Meteors* Shine That Ring
1-15 –Max Merritt & The Meteors* Diamond Ring
1-16 –Max Merritt & The Meteors* Tennessee Waltz
1-17 –Max Merritt & The Meteors* C’mon Everybody
1-18 –Max Merritt & The Meteors* Teen Beat
1-19 –Garry Stewart & The Coronets* With Ian Lowe & His Esquires* Street Corner
1-20 –Litia Daveta & Bill Wolfgramm Group My Lovin’ Boy
1-21 –The Supersonics (4) Walk Don’t Run
1-22 –The Supersonics (4) Guitar Boogie
1-23 –Meta Amos Quartette Fool’s Paradise
1-24 –The Supersonics (4) Perfida
1-25 –The Supersonics (4) Hard Boiled Boogie
1-26 –The Embassy Six Hoots Mon
1-27 –The Embassy Six Loch Lomond Rock

2-1 –Bas Tubert & The Tubes (2) The Hu-Hu Bug
2-2 –Teddy Bennett & The Blockbusters You Must’ve Been A Beautiful Baby
2-3 –Teddy Bennett & The Premier Show Band Clap Your Hands
2-4 –The Supersonics (4) The Frightened City
2-5 –The Supersonics (4) Detour
2-6 –Mister “Pedals” Malloy I Love Paris
2-7 –The Holden Brothers (2) & The Premier Show Band So How Come
2-8 –Teddy Bennett & The Blockbusters Baby Face
2-9 –Max Merritt & The Meteors* If You Want My Lovin’
2-10 –Teddy Bennett & The Blockbusters Where Were You On Your Wedding Day
2-11 –Teddy Bennett & The Blockbusters Oh Me, Oh My
2-12 –Max Merritt & The Meteors* Weekend
2-13 –The Tornados (2) Serenade
2-14 –Max Merritt & The Meteors* Cossack
2-15 –Johnny Stevenson (2) & The Sapphires (4) Swan-ee River
2-16 –Max Merritt & The Meteors* Valley Of The Sioux
2-17 –Max Merritt & The Meteors* Laughing Girl
2-18 –The Rockets (9) Nashville Boogie
2-19 –Johnny Stevenson (2) & The Sapphires (4) Knockin’ In Wood
2-20 –The Kiwi Four Hard Boiled Stomp
2-21 –The Maori Hi Five The Hippy Hippy Shake
2-22 –The Maori Hi Five In A Persian Market
2-23 –The Maori Hi Five Chariot Rock
Bonus Tracks: Acetates / Demos
2-24 –Johnny Cooper & Ken Avery & His Rockin’ Rhythm Backboard Journey
2-25 –Max Merritt & The Meteors* You Made Me Love You
2-26 –Unknown Artist Gonzales

Share this:

£ 10.00

Add to Basket

Release Date:

Format: CD Album

All music: Rockabilly / Rock N Roll

Secret Link