'widget_wpsc_donations_custom', 'description' => __( 'Donations Widget', 'wpsc' ) ); $this->WP_Widget( 'wpsc_donations_custom', __( 'Product Donations', 'wpsc' ), $widget_ops ); } /** * Widget Output * * @param $args (array) * @param $instance (array) Widget values. * */ function widget( $args, $instance ) { global $wpdb, $table_prefix; extract( $args ); $donation_count = $wpdb->get_var( "SELECT COUNT(DISTINCT `p`.`ID`) AS `count` FROM `" . $wpdb->postmeta . "` AS `m` JOIN `" . $wpdb->posts . "` AS `p` ON `m`.`post_id` = `p`.`ID` WHERE `p`.`post_parent` IN ('0') AND `m`.`meta_key` IN ('_wpsc_is_donation') AND `m`.`meta_value` IN( '1' ) AND `p`.`post_status` = 'publish'" ); if ( $donation_count > 0 ) { echo $before_widget; $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Product Donations', 'wpsc' ) : $instance['title'] ); if ( $title ) { echo $before_title . $title . $after_title; } wpsc_donations_custom(); echo $after_widget; } } /** * Update Widget * * @param $new_instance (array) New widget values. * @param $old_instance (array) Old widget values. * * @return (array) New values. */ function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); return $instance; } /** * Widget Options Form * * @param $instance (array) Widget values. */ function form( $instance ) { global $wpdb; // Defaults $instance = wp_parse_args( (array)$instance, array( 'title' => __( 'Product Donations', 'wpsc' ) ) ); // Values $title = esc_attr( $instance['title'] ); ?>

get_results( "SELECT DISTINCT `p` . * , `m`.`meta_value` AS `special_price` FROM `" . $wpdb->postmeta . "` AS `m` JOIN `" . $wpdb->posts . "` AS `p` ON `m`.`post_id` = `p`.`ID` WHERE `p`.`post_parent` IN ('0') AND `m`.`meta_key` IN ('_wpsc_is_donation') AND `m`.`meta_value` IN( '1' ) ORDER BY RAND( ) LIMIT 1", ARRAY_A ); if ( $products != null ) { foreach ( $products as $product ) { $attached_images = (array)get_posts( array( 'post_type' => 'attachment', 'numberposts' => 1, 'post_status' => null, 'post_parent' => $product['ID'], 'orderby' => 'menu_order', 'order' => 'ASC' ) ); $attached_image = $attached_images[0]; $output .= "
"; $output .= "
" . $product['post_title'] . "
"; if ( ( $attached_image->ID > 0 ) ) { $output .= "" . esc_attr( $product["; } // Get currency options $currency_sign_location = get_option( 'currency_sign_location' ); $currency_type = get_option( 'currency_type' ); $currency_symbol = $wpdb->get_var( "SELECT `symbol_html` FROM `" . WPSC_TABLE_CURRENCY_LIST . "` WHERE `id`='" . $currency_type . "' LIMIT 1" ); $price = get_post_meta( $product['ID'] , '_wpsc_price', true ); // Output $output .= "

" . $product['post_content'] . "

"; $output .= "
"; $output .= ""; $output .= ""; $output .= ""; $output .= " $currency_symbol"; $output .= ""; $output .= "
"; $output .= "
"; } } else { $output = ''; } echo $output; } ?>