Coder Social home page Coder Social logo

awesomemotive / easy-digital-downloads Goto Github PK

View Code? Open in Web Editor NEW
858.0 74.0 471.0 79.43 MB

Sell digital downloads through WordPress

Home Page: https://easydigitaldownloads.com

License: GNU General Public License v2.0

JavaScript 4.31% Shell 0.16% PHP 93.46% SCSS 2.05% CSS 0.01% Batchfile 0.01% Makefile 0.01%
edd wordpress php ecommerce stripe wordpress-plugin

easy-digital-downloads's Introduction

Plugin Version Total Downloads Plugin Rating WordPress Compatibility Build status codecov License

Welcome to our GitHub Repository

Selling digital downloads is something that not a single one of the large WordPress ecommerce plugins has ever gotten really right. This plugin aims to fix that. Instead of focusing on providing every single feature under the sun, Easy Digital Downloads tries to provide only the ones that you really need. It aims to make selling digital downloads through WordPress easy, and complete.

More information can be found at easydigitaldownloads.com.

Installation

For detailed setup instructions, visit the official Documentation page.

  1. You can clone the GitHub repository: https://github.com/easydigitaldownloads/easy-digital-downloads.git
  2. Or download it directly as a ZIP file: https://github.com/easydigitaldownloads/easy-digital-downloads/archive/master.zip

This will download the latest developer copy of Easy Digital Downloads.

Bugs

If you find an issue, let us know here!

Support

This is a developer's portal for Easy Digital Downloads and should not be used for support. Please visit the support page if you need to submit a support request.

Contributions

Anyone is welcome to contribute to Easy Digital Downloads. Please read the guidelines for contributing to this repository.

There are various ways you can contribute:

  1. Raise an Issue on GitHub
  2. Send us a Pull Request with your bug fixes and/or new features
  3. Translate Easy Digital Downloads into different languages
  4. Provide feedback and suggestions on enhancements

easy-digital-downloads's People

Contributors

amdrew avatar ashleyfae avatar barrykooij avatar chriscct7 avatar cklosowski avatar daigo75 avatar drewapicture avatar elliott-stocks avatar ericnicolaas avatar fxbenard avatar geczy avatar jeroensormani avatar jjj avatar justinsainton avatar leewillis77 avatar lisacee avatar michaelbeil avatar mindctrl avatar mintplugins avatar nikv avatar pderksen avatar pippinsplugins avatar robincornett avatar samikeijonen avatar seantoscd avatar sksmatt avatar spencerfinnell avatar stephywells avatar sunnyratilal avatar zkawesome avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easy-digital-downloads's Issues

Error in download-functions.php

“Warning: array_search() [function.array-search]: Wrong datatype for second argument in /home/copierfi/public_html/wp-content/plugins/easy-digital-downloads/includes/download-functions.php on line 195″

Nonce verification for ajax requests

Currently there is no nonce verification for ajax requests, which means other scripts, whether intentionally or not, can come in and modify your request without authorization. You should pass nonces through your wp_localize_script() function and then reference them when sending your $_POST requests.

You can verify them with check_ajax_referer.

An example would be:

wp_localize_script('edd-ajax', 'edd_scripts', array(
                'ajaxurl' => admin_url( 'admin-ajax.php' ),
                'no_discount' => __('Please enter a discount code', 'edd'), // blank discount code message
                'discount_applied' => __('Discount Applied', 'edd'), // discount verified message
                'loading' => __('Loading', 'edd') , // general loading message
                'ajax_loader' => EDD_PLUGIN_URL . 'includes/images/loading.gif' // ajax loading image
                                'sample_nonce' => wp_create_nonce( 'sample_nonce' )
            )
        );

Then you would reference the nonce in your jQuery object that you pass in the $_POST request by using edd_scrips.sample_nonce, like this:

var data = {
            action: action,
            cart_item: item,
                        nonce: edd_scripts.sample_nonce
        };

Then you would run check_ajax_referer to verify the nonce, like so:

check_ajax_referer( 'sample_nonce', 'nonce' ); where "sample_nonce" is the name of the nonce and "nonce" is the name of the $_POST key.

This is especially important considering this is dealing with downloads that can be purchased. Each ajax request should have its own nonce verification.

Namespace jQuery events

There is no way to bind to your current click events. You should namespace your jQuery events so that other scripts can bind to them.

Example:


This way another script could bind to that same event as well using the same syntax. I would also recommend switching to on() instead of using live() as it has been deprecated as of 1.7. See http://api.jquery.com/live/

Remove item from Cart - No Reset Button?

When Cart is on the same page, I think the button should be reset when the relevant article is removed from the cart, otherwise it always displays the checkout.

Auto update plugin failed.

I tried to perform the update of the plugin but it unsuccessful.
I had to delete the folder from ftp and reload the plugin.

Use add_settings_error() and settings_errors() for admin notices

I would suggest utilizing the Settings API to output your admin notices. Three reasons:

  1. You ensure that your notices will remain consistent for any WordPress version, and
  2. You can register all your messages through one slug and output them with a simple settings_errors() call
  3. You can use add_settings_error() anywhere before the admin_notices hook to register your messages, and since they are all registered through one slug, it makes it really easy to create new notices.

Use case: includes/admin-notices.php

function edd_admin_messages() {
    if(isset($_GET['edd-message']) && $_GET['edd-message'] == 'discount_updated') {
        add_settings_error( 'edd-notices', 'edd-discount-updated', __('Discount code updated.', 'edd'), 'updated' );
    }
    if(isset($_GET['edd-message']) && $_GET['edd-message'] == 'discount_update_failed') {
        add_settings_error( 'edd-notices', 'edd-discount-updated-fail', __('There was a problem updating your discount code, please try again.', 'edd'), 'error' );
    }
settings_errors( 'edd-notices' );
}
add_action('admin_notices', 'edd_admin_messages');

Capability check for admin notices

You don't have any capability checks for your admin notices, which means any user that can access your post type can see your messages. You should limit these to only those users that have the ability to act upon those messages, or you should create different messages for those users that cannot act upon the messages. I would consider using current_user_can( 'manage_options' ) seeing how all of your submenu pages require that level to access them.

User input pricing

I'd love the ability for users to be able to input their own price for something. Admin being able to set a min and/or max price would be handy, but not necessary.

The idea being I could have a product that users could enter "0" for and download it for free, or if they wanted to they could put $30 and essentially "donate" that amounting exchange for the product. Or in the case of having a min/max I could set set $1/$30 or whatever (obviously).

Add Styles tab

There needs to be a styles options tab for default style options.

Tags and Post Widgets not recognizing downloads

Don't really know if it is supposed to be like this, but the Tag Cloud and the Random Post widgets don't work with downloads. Since I've mentioned dumb things before, maybe this is just me not knowing how to do things right. :)

Conflict With GravityForms CPT In Admin

Not sure if you have the Gravity Forms plugin but when both are enabled only the GravityForms CPT shows up in the admin. Once I disable GF the CPT for your plugin shows up.

Manually input transactions

This isn't likely to make the cut, but there's no harm in asking.

I'm sure there will be users who already have a cart plugin that they're using for sales and they will want to migrate those past sales. What do you think about a page where transactions can be manually entered? With the proper hooks in, an import script shouldn't be too much of a headache. Or could you could you add the hooks so building an import script would be possible?

Option to show purchase on archives

Add an option to show purchase buttons on archive pages automatically. Place it in Misc settings and make the "disable" button in the download meta boxes hide it.

Fix CSS Button Color.

.edd_button_text, input.edd_button_text, input#edd-purchase-button, input#edd_next_button {
display: block; height: 32px; background: url(../images/button-mid.png) repeat-x;
padding: 0 4px; margin: 0; border: none; text-shadow: none; color:#555;
-webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;
}

**removed color: #555

fix color for black button, it always show gray text color.

Make a few more options translateable

in "/includes/metabox.php", around line 40 I would change the existing to this:

'options' => array( __( 'button', 'edd' ), __( 'text', 'edd' ) )

This way both values become translateable - I hope this does affect no other setting?

Also in "/includes/template-functions.php, around line 68 maybe the colors in the filter array could be made translateable like this:

return apply_filters( 'edd_button_colors', array( __( 'gray', 'edd' ), __( 'pink', 'edd' ), __( 'blue', 'edd' ), __( 'green', 'edd' ), __( 'teal', 'edd' ), __( 'black', 'edd' ), __( 'dark gray', 'edd' ), __( 'orange', 'edd' ), __( 'purple', 'edd' ), __( 'slate', 'edd' ) ) );

I am not sure if the filter then still works - only a suggestions, maybe it's possible :)

Thanx, Dave

Pending/Interrupted transactions counted in Stats

While putting my site live, I turned off Sandbox and, just to test things, I began a purchase up until the part where the Paypal page is loaded and asks for your credentials. I canceled the purchase at that point, but noticed that the transaction, besides being "Pending" (which is to be expected), also shows up on the Earnings, Reports and everything, even though the transaction wasn't confirmed.

Purchase Problem

When I click the purchase button, I get the following:

Warning: Cannot modify header information - headers already sent by (output started at F:\dev\devpress\wp-content\plugins\easy_download\includes\gateways\paypal.php:46) in F:\dev\devpress\wp-includes\pluggable.php on line 866

Any ideas? I have enabled PayPal for payment. Seems a redirection problem.

Enhancement: Better error checking and notices.

When filling out the credit card form or fields for name, address, email etc feedback/errors do not currently show i.e. If I leave blank fields such as address from the form it does not give any feedback saying that i've forgotten to fill out sections required or not-required.

For example: http://o7.no/HxhHjC I didn't fill out the Address, State, Zip fields but it still allowed me to submit the data to the credit processor. There should be some ajax error feedback for example: http://o7.no/IBJJ8S

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.