more hooks

master
Marek Isalski 7 years ago
parent 450201b048
commit 4001f2e70f

@ -16,6 +16,15 @@ function hook_fulcrm_shoppingcart_person_add( $person, $redirect_destination ) {
function hook_fulcrm_shoppingcart_pre_add_to_cart( $shoppingcart, $person, $product ) {
}
function hook_fulcrm_shoppingcart_post_add_to_cart( $shoppingcart, $shoppingitem ) {
}
function hook_fulcrm_shoppingcart_pre_remove_from_cart( $shoppingcart, $shoppingitem ) {
}
function hook_fulcrm_shoppingcart_post_remove_from_cart( $shoppingcart, $product ) {
}
function hook_fulcrm_shoppingcart_pre_cart_to_transaction( $shoppingcart ) {
}
@ -312,6 +321,10 @@ function fulcrm_shoppingcart_buy_eventbookingtype_form_submit( $form, &$form_sta
$api_data = fulcrm_apiv2_POST( 'shoppingitem/', $item, $query = array( 'expand' => 'd' ) );
if ( $api_data[ 'success' ] ) {
$hook_results = module_invoke_all( 'fulcrm_shoppingcart_post_add_to_cart', $cart, $person_data[ 'data' ], $api_data[ 'data' ] );
foreach ( $hook_results as $hook_result )
return $hook_result;
drupal_set_message( t('Added "%item" to shopping cart.', array( '%item' => $item[ 'd' ][ 'name' ] ) ), 'status' );
$form_state[ 'redirect' ] = 'fulcrm/cart';
} else {
@ -366,6 +379,8 @@ function fulcrm_shoppingcart_buy_eventbookingtype_form( $form, &$form_state, $pe
// $form[ 'person' ] = fulcrm_collection_to_form( 'person', $eventbookingtype[ 'person_ddatacollection' ], $person[ 'd' ] );
die( print_r( $person, 1 ) );
if ( array_key_exists( 'name', $person ) )
$persons = array( 'myself' => $person[ 'name' ] . ' (myself)' );
else
@ -481,6 +496,10 @@ function fulcrm_shoppingcart_buy( $product_id, $hmac ) {
'transaction_ddatacollection',
'lineitem_ddatacollection',
) ) ) );
if ( !$product_data[ 'success' ] ) {
return 'error while fetching information about this product!';
}
if ( user_is_logged_in() )
$person_id = fulcrm_webhook_get_pk_for_entity_type( 'user', $user->uid, 'person' );
else
@ -502,19 +521,19 @@ function fulcrm_shoppingcart_buy( $product_id, $hmac ) {
return 'error while fetching your details!';
}
} else {
$person_data = array( 'data' => array() );
$person_data = array( 'data' => array( 'uuid' => fulcrm_uuid_uuid4(),
'name' => 'website visitor',
'd' => array( 'name' => 'website visitor',
),
) );
}
if ( !$product_data[ 'success' ] ) {
$cart = fulcrm_shoppingcart_get_session_cart( $create = true );
if ( !$cart ) {
return 'error while fetching the contents of your shopping cart!';
}
$shoppingcart_data = fulcrm_shoppingcart_get_session_cart( $create = true );
if ( !$shoppingcart_data[ 'success' ] ) {
return 'error while fetching information about this product!';
}
$hook_results = module_invoke_all( 'fulcrm_shoppingcart_pre_add_to_cart', $shoppingcart_data[ 'data' ], $person_data[ 'data' ], $product_data[ 'data' ] );
$hook_results = module_invoke_all( 'fulcrm_shoppingcart_pre_add_to_cart', $cart, $person_data[ 'data' ], $product_data[ 'data' ] );
foreach ( $hook_results as $hook_result )
return $hook_result;
@ -546,15 +565,32 @@ function fulcrm_shoppingcart_buy( $product_id, $hmac ) {
function fulcrm_shoppingcart_remove_shoppingitem_confirm_submit( $form, &$form_state ) {
$api_data = fulcrm_apiv2_DELETE( $form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ][ 'url' ] );
if ( $api_data[ 'success' ] )
if ( $api_data[ 'success' ] ) {
drupal_set_message( t('Removed "%item" from cart.', array( '%item' => ( array_key_exists( 'name', $form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ][ 'd' ] ) ? $form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ][ 'd' ][ 'name' ] : $form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ][ 'product' ][ 'name' ] ) ) ), 'status' );
$cart = fulcrm_shoppingcart_get_session_cart();
if ( !$cart ) {
return 'error while fetching information about your shopping cart!';
}
$hook_results = module_invoke_all( 'fulcrm_shoppingcart_post_remove_from_cart', $cart, $form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ][ 'product' ] );
foreach ( $hook_results as $hook_result )
return $hook_result;
}
$form_state[ 'redirect' ] = 'fulcrm/cart';
}
function fulcrm_shoppingcart_remove_shoppingitem_confirm( $form, &$form_state, $shoppingitem ) {
$form_state[ 'fulcrm_shoppingcart' ][ 'shoppingitem' ] = $shoppingitem;
$cart = fulcrm_shoppingcart_get_session_cart();
if ( !$cart ) {
return 'error while fetching information about your shopping cart!';
}
$hook_results = module_invoke_all( 'fulcrm_shoppingcart_pre_remove_from_cart', $cart, $shoppingitem );
foreach ( $hook_results as $hook_result )
return $hook_result;
return confirm_form( $form,
t('Remove from cart?'),
'fulcrm/cart',

Loading…
Cancel
Save