So…… on 31/8 WPDM support does reply, saying they *had* read my posts but didn’t realise I had specific questions. OK, so on 1/9 I sent back a list of four quite specific questions regarding outstanding issues I have with the code.
It’s now been over a week with no reply?
Watch this space . grin.
It’s a very fair review – if I had read it myself I still would still have likely bought the product and make that point. Can’t be fairer than that. I’ve again ‘invited’ wpdm to repond, although a response would be good it would also be bad……..
Don’t get me wrong, fundamentally it’s a really nice product. I’ve spent a month re-writing huge chunks of it so now it is really clean to use, with decent instructions, with *almost* all of the processing problems & glitches resolved. Still very server intensive, but I’ll deal with that. However I’m a web developer, so cleaning up the bugs with this code is surely way beyond many who purchase this product.
For a client installation, where they are urgently calling me when it goes awry, the level of support WPDM offer just makes this product way too much of a potential head-ache for use for a commercial WordPress application. I can’t wait a month for an answer to a technical problem.
Which is certainly *not* how it is marketed, and it’s a crying shame because the potential is right there.
What I find most annoying is that prior to purchasing, WPDM pre-purchase support was exceptional. Knowlegeable, helpful and responsive. But as soon as I purchased a license, any support just vanished. Sure, that business model is everywhere (take the money and run!) but that doesn’t make it more acceptable.
And that attitude just sums up the Support Forum, please just re-name a Public Forum, I think that is being far more honest.
I understand the economic questions for support, so I have pointed out to WPDM that they should simply charge a monthly support fee and provide ‘genuine’ support to those who are gladly paying for it. Win-Win. But of course they don’t read the Support Forums. LOL.
This Support Forum request interesting as well – because it also shows that even really important issues still don’t warrant a WPDM response. You can probably tell I’ve had enough!
Next week I will post a new Topic in the Public Forum – I’m thinking the title will be:
WPDM – is it a scam?
I’ll just detail my experiences and the hard facts.
The really curious question will be whether that actually gets a WPDM response, because ironically if they do respond to this, rather than answering genuine technical support questions, then that kinda just supports the scam argument.
Since WPDM haven’t bothered to respond here is the content of my private message. IMHO you have to have financial calculations and record-keeping as both traceable AND un-arguable – of which it is currently neither.
Since my initial posts I have identified that the ‘User Role’ payouts do write these % values into the database (and the ‘global figure does as well). I didn’t notice it before because of a glitch where the ‘global’ figure does not display in the Admin Panel, so it looks like nothing is happening.
However it’s irrelevant, because the code still only uses these values to calculate User Commission’s in real-time – and that is the issue.
FWIW I have modifed the code to write the commission value into the database at the time of the sale and the code only ever uses these database values for working out the financial distibutions.
————PRIVATE REPLY POST BELOW ——————
FYI I didn’t want to make this public but IMHO the coding above is a REALLY BAD IDEA as it potentially leads to financial conflict between the seller and the site owner. Why? Two big reasons.
Reason 1.
Lets just say the site owner agress with sellers that they will charge 25% commision. Seller then proceeds to make $1000 of sales, therefore at this point the distribution is 750:250. Fine.
Then something happens at the site end – new hosting contract, software updates or simply a CPI increase and the site changes its commission to 30% BEFORE the Seller takes out their share. Because the site subsequently calculates this distribution on ‘real-time’ rather then historical commission percentage, the distribution now automatically changes to 700:300. Not fine.
I’m no lawyer but I suspect the site is LEGALLY obliged to pay the seller the $50 difference.
Even if the site is happy to pay the Seller the difference, because the commission percentages are set as either ‘global users’ or ‘user role’ level (ie not to a unique ID) AND it is a SINGLE value (ie no historical timeline stored), this makes it difficult to adjust the funds within the WPDM system.
I’ve already done testing where a change in the commission changes the seller’s balance to a negative number…….
Reason 2.
Taxation. Obviously taxation is based on income over a set financial year – the problem here is that I can change the income distributions for past taxation periods – I’m guessing the way it works now is that the changes go right back to Day One. This potentially creates such such a financial mess it’s not even worth discussing further, as the only way you would be able to correctly audit under such circumstances is by trying to recreate the timeline of commission percentage changes and seller withdrawals – which means you need to go through ALL site backups. Uurgh.
————————
For auditing I strongly recommend storing commission percentages as a historical timeline. Maybe the site does – as mentioned the Admin code isn’t working for me nor do I know where you are storing these in the DB.
————————
FYI I consider an order with ZERO commission as exactly that – I personally would *never* use code to re-calculate order information.
————————
BTW This isn’t a ‘horribly’ complicated coding change – as mentioned fortunately you already have the [site_commission] field which if used sensibly solves all of the above issues. Of course the ‘top’ level of the Sales pages show the calculated financial summaries BEFORE it loads the actual ORDER data, so there is still a bit of coding I need to do to re-arrange the layouts and the data hierarcy.
The coding edits are fine, however the bigger issue for me is that these aren’t files I can load into the child theme – so hopefully this is a ‘correction’ that you folks will put as reasonably urgent.
Have a read of my last entry to this support Forum post – it pretty well sums it up.
I can see in the code where the User Forms are written, but as there a quite a few of these the simplest solution to this problem is to catch it at the database INSERT/UPDATE. A simple IF statement would ensure that the record is always valid loading at the User end.
I can see this bit of text sits inside the ‘billing_info’ string, and yes, I think this all gets placed inside the ‘order_id’ array before writing to the database.
However despite spending quite a bit of time searching through both the ‘Download Manager’ and ‘WPDM Premium Packages’ folders I cannot find the piece of code that actually lets me insert this check.
In closing this problem really summarises the core problem with this product – and it has nothing to do with code.
Yes, this is an annoying glitch that has taken me a long time to isolate. However although the code fix is relatively simple, I still need some technical support from WPDM to identify the actual spot where I can insert the fix.
But you just do not get any technical support………
Code must be using a different ASCII character, as the string hasn’t rendered properly in the Forum post. Ahh, nothing is ever simple. When it doesn’t work the data field has no space between [s:0:””] when it does work you can see a gap [s:0:” “] even though the character count is still zero.
HeHe.
BTW sorry, I copied the wrong string into the ‘not-working’ data string above – the important part of the string is ;s:5:”state”;s:1:”1″; that was orginally ;s:5:”state”;s:0:”″; – it is the NULL field that causes the error. I wrongly copied the edited ‘fixed’ string…….
And just to make this all IT EVEN MORE ANNOYING, when a Guest has this Invoicing error they are advised to fix their billing details and presented with an [Edit Billing Details] window. But guess what….they CANNOT EDIT the State field. Yup, you can see it, it is marked as a required field, but it looks like when the loaded value is NULL then the input is disabled so you can’t type anything into it. Sigh.
It is also NOT related to the Country pull-down selection so you can’t load it from here either.
So no matter what changes a User makes to their Billing Details, it looks like once this error has occurred you can never get the Invoice to work unless you directly edit the database field.
NOTE 1. Even for valid orders, it is somewhat strange that although it is marked as a required field it can be left completely blank? Fortunately this does not load a completely NULL value into the record, instead it loads:
;s:5:”state”;s:0:””;
A great example of the difference in code that just one little space can make!
NOTE 2. Although a Guest User can change the Billing Details for an Invoice, it doesn’t appear that a logged in User has the same flexibility. These Orders do not get the [Edit Billing Details] button, nor does changing the User Profile:Billing Details have any effect on the Invoice.
Not being able to change Invoice details isn’t necessarily a huge issue, however it does mean that if a logged in User ‘does’ make an order with the Invoicing error, then they will ALSO never be able to correct it.
Actually, it seems to be not directly related to Downloads > Premium Package > Taxes, that was just highlighting the connection with the countries I had set up.
It’s atually being driven from the raw WPDM code that creates the pull-down lists for countries & states. If there’s no state = potential error.
lol. The Taxes field shows just a ‘backslash’ by default, obviously this character isn’t being well handled by the forum code 🙂
Spoke too soon. Had another issue with a Guest Order Invoice not loading and returning me the:
Warning!. Critical billing info is missing. Please update your billing info to generate invoice properly. [UPDATE BILLING INFO] button.
However this time I double-checked that Settings > Premium Packages > Ask for billing address was checked : and it was.
OK, turns out it is ***another*** problem with the Country/State linking. On another matter I’ve asked for Technical Support for Country/State linking over 3 weeks ago, so I’m not holding my breath for a WPDM solution anytime soon. Anyway what I think is happening here is that if a buyer chooses a Country that does NOT HAVE a STATE attached, if they do not put anything in that field the Cart code error checking doesn’t catch this and it writes into the database as an empty string:
a:11:{s:10:”first_name”;s:5:”guest”;s:9:”last_name”;s:4:”user”;s:7:”company”;s:0:””;s:7:”country”;s:2:”AI”;s:5:”state”;s:1:”1″;s:9:”address_1″;s:5:”weqwe”;s:9:”address_2″;s:3:”qwe”;s:4:”city”;s:3:”dwd”;s:8:”postcode”;s:4:”1224″;s:5:”phone”;s:0:””;s:11:”order_email”;s:26:”12345@1234567890123.com.au”;}
I tested again with the exact same Billing Details EXCEPT typing ‘somewhere’ the State field and voila: Invoice appears.
a:11:{s:10:”first_name”;s:5:”guest”;s:9:”last_name”;s:4:”user”;s:7:”company”;s:0:””;s:7:”country”;s:2:”AI”;s:5:”state”;s:9:”somewhere”;s:9:”address_1″;s:5:”weqwe”;s:9:”address_2″;s:3:”qwe”;s:4:”city”;s:3:”dwd”;s:8:”postcode”;s:4:”1224″;s:5:”phone”;s:0:””;s:11:”order_email”;s:26:”12345@1234567890123.com.au”;}
So I’m pretty confident it is the empty string causing the invoice error.
I tried manually editing the broken data but simply adding text into the empty “” space it didn’t work until I twigged that the S:# has to match the character count of the next “string”. No idea why they do this, as there are plenty of ways to count string lengths in PHP. but at least you can fix the problem by editing the record directy in the database.
More testing has shown that everything works fine if you choose a Country with States, because even if the User does nothing they always have a default value that gets written.
So that the invoicing error is linked with any Country THAT DOES NOT have any STATES attached to it in Downloads > Premium Package > Taxes.
I tried adding a blank or a text string into the Taxes field, that by default just shows [/ ], but it doesn’t help – so if the user doen’t enter something into the Cart then the code won’t catch it and although the transaction will process you cannot load the Invoice.
What does that all mean?
It means that any purchasers from those countries – guest or logged in – will potentially have problems loading an invoice. To get around this I will simply turn OFF those countries – so they can’t be selected – so I won’t have to deal with the error.
But if you are from one of those Countries, please feel free to try and get WPDM to at least respond to the error 🙂
I’m a web developer – so my issues are at the core level of the product design (and code). These have nothing to do with documentation (which is extremely poor) or conflict with other plugins or server set-up.
I share your pain, and yes the frustration stems from the fact that it is both reasonably-priced and a good idea. However IMHO I do not think you can effectively use this plugin if you are not a web developer OR have access to one. 🙁
No probs DesignServe.
FYI out of respect for the ‘Developers Code’ I have posted many of my observations as private support forum messages for WPDM to respond. I understand the nature of web developement, so as a buyer I can accept code errors & glitches (and there are plenty) as long as there is some sort of assistance and a ‘perceived’ intention to correct/improve in the future.
However POST-sale I simply get *almost* no responses from WPDM to any Support Forum questions. I’ve probably posted a dozen technical support questions, only had a WPDM reply to one – with the last response over 4 weeks ago.
So if I don’t hear back from WPDM on this post after one more week, then it’s crystal clear that there is no genuine technical support for this product – I get better responses from ‘many ‘free’ plugin developers – so I won’t be using it for commercial use anyway.
I have a simple code of ethics – support what you do (sell) – or don’t do (sell) it in the first place.
I’d really prefer it if WPDM do respond (at it’s core it is a good idea), but if WPDM don’t I’ll just wear the cost of this license and publically (I’ll also put a copy of this post in the Free forum) disclose my code observations, my review of the product and my interpretation of the developer’s business model for others to ponder. 🙂
BTW you can use this URL: yourdomain.com/user-profile/?user=*name* but I wanted to add more information on the seller!
I have also had the same type of Media Library uploader error, with uploads hanging once Seller A. had created around 40 packages.
Although they can still upload the base file to be downloaded (these use a different process and are stored into their own uploads folder) trying to add another small ‘preview’ image – which goes into the Media Library, just hangs.
Although Seller A. does have 40-odd images in the Media Library, they are all pretty small (<120kB each)…..
DETAILED ERROR EXPLANATION (tested several times, consistent error)
Create/edit a Package, everything works fine EXCEPT for uploading any *new* files into the WPDM Media Library. Adding *existing* images from the Media Library is fine.
DEBUG CHECK ONE.
I can upload the same file directly via WP back-end Media Library uploader (note different code to WPDM Media Library uploader!).
So it’s unlikley to be an issue with the file itself.
DEBUG CHECK TWO.
Log into the site as Seller B. and it all works perfectly fine. The only difference betwen Seller A. and Seller B. is the number of ‘packages’, hence the number (or storage total) Media Library files they have allocated to their User ID.
So it’s unlikely to be a process coding “error’, rather it seems more likely a limitation being placed on the actual user ID.
——————–
Whe you access the WPDM Media File uploader it gives you a screen with the following: [Button] and text.
…or
[Select Files]
Maximum Upload File Size: 500MB
Unfortunately I haven’t been able to find where this 500MB value is set – it’s not through:
I can’t see this being a server setting anyway, as the server can’t know how much data the user ID has accumulated – the only way you could get this total is by a database query. So it could be set in WP, WPDM, another WPDM plugin or even the Theme, unfortuntely searching through files for ‘500’ gets an awful lot of hits…….
——————–
WORKAROUND
For WPDM installations I leave WP using the default WP Media Settings of: use ‘month-and-year’ based folders, seems a fortunate coincidence I did (as I don’t usually).
When you open the WPDM Media Library uploader it does have a filter, but this ‘defaults’ to displaying [All Dates], so basically it shows you *all* media files uploaded by *all* users. Huh? why there isn’t a ’40-per-page’ option OR a user filter (a realtively easy implementation) is a mystery to me.
Anyway, if I change the filter to an empty ‘older’ folder eg. [June 2019] it reports back:
No items found.
Drop files anywhere to upload
or….
And guess what? Uploading from here is fine. However…….
What is curious is that the file does not upload into the [June 2019] folder, instead it uploads into the ‘current’ folder – in this case is [Aug 2019].
ANALYSIS
No idea why it behaves like this – it was just dumb luck that I found this.
I’m guessing it is a coding issue with the WPDM Media File uploader, however as most of you already realise there really isn’t any official support for this product – so don’t hold your breath waiting for a reply or code fix. Even if you have paid for Pro licenses (like me) they almost *never* repond to any Forum support questions.
When they do there is no rhyme or reason, it almost seems like a random selection. So it seems more like scraps to keep the masses from rioting? lol.
BTW if you *really* want a response, my suggestion is to pretend you are a new buyer testing out their ‘free’ version before you buy – this way you will definitely get a response so you can push the questions as far as you think appropriate. They gave me some really good assistance ‘pre-purchase’, but that support has simply vanished now I’ve paid for it.
It’s a bit of a shame you have to resort to this, because it is a really-nice, great-value little product.
But IMHO with the support they ‘offer’, you need to be able to code PHP yourself to get it to work properly, especially if you want to use it for a commercial application where things might need to be fixed quickly. Most core edits won’t run in a child theme so that should also tell you quite a lot of how you need to manage these installations.
🙂
The solution from Shariar to bypass the 500MB storage limit means there is no limit – not sure if I like that option. From what I can see the default ‘storage limit’ shown in the Dashboard > File Manager actually seems to be hard-coded in the WPDM code:
*CANNOT RUN IN CHILD THEME* download-manager/wpdm-functions.php ~ LINE2200
function wpdm_user_space_limit($uid = null){
global $current_user;
$global = get_option(‘__wpdm_author_space’, 500);
$uid = $uid?$uid:$current_user->ID;
$user = get_user_meta($uid, ‘__wpdm_space’, true);
$space = $user > 0?$user:$global;
return $space;
}
Just change 500 to whatever value you want – this seems to set the ‘$global’ user storage space value used by WPDM uers. Haven’t tested functionally but resetting the value to 500 does change the display from [10% USED] (500 MB /50 MB) > [1% USED] (5000 MB /50 MB) so one hopes this is not just a visual change.
The code then queries to get a $space value for the specific user – I haven’t tracked this down but obviously it would be nice if this was a setting per user – even if it was something you needed to manually write into the DB.
I just added HTML into the description field using the standard editor [img] button and it worked fine. I used an image file from the media library as well as an external image, both displayed fine. I guess it might depend on what template you are using.
A final enhancement I have done is add a checkpoint for edited Packages.
Yes, the administration option: Settings > Frontend Access > [When someone create a package] can be [Pending for Review] OR [Publish Instantly] AND CAN give a checkpoint for a NEW package, BUT once a package is published a Seller can edit the file without any further checks or confirmation. So to prevent ‘accidental’ publishing of ‘undesirable’ content, I have enhanced the function of that admin switch so that if it is set to: [Pending for Review] the following happens
Action 1. Unless’Save as Draft’ is checked at the Front End, the status of ALL edited packages is automatically set to ‘Pending’
Action 2. If Action 1. occurs, a custom Admin email is sent advising that the package needs a review to be published.
If you want to have a go implementing this yourself then have a look at these files:
/download-manager/libs/class.Email.php
/download-manager/libs/class.Apply.php
get_option(‘__wpdm_ips_frontend’) returns the Frontend value ‘pending,publish’ for your If statement. Surprised that isnt just a on/off….
BTW these edits cannot run in a child theme (which is always an issue) and although I’m happy with the results, there is a million ways to swing a cat in PHP. When you edit other folks work you are never entirely sure that you have caught everything, especially if getting in touch with the developer is difficult. Going through the code yourself is the only way to give you insight into how it was written, what you should change, and how you can fix it if it breaks 🙂
Folks, I’m *really* after a bit of support here.
I have done an *awful* lot of investigation, code customisation and despite getting virtually no forum replies I have solved most of the issues myself and shared lot’s of information in the Forum about:
Customisation
Code Anomolies
IMHO this is all useful information for current users as well as for WPDM in considering future code patches & releases.
The only aspect of the site I’m still un-happy about is Billing Information.
It’s very frustrating that the Country > State pull-down code works perfectly in the Shopping Cart & the Premium Package Admin panel, but nowhere else in the site. This is especailly annoying for the end user, as this field can never be auto-populated.
You have already written the code, I have found the relevant code snippet and have inserted the code but it doesn’t work. I’d sort it myself but, unlike everything else I’ve sorted, I just can’t easily find where to hook it up to the required functions (I’m guessing js).
So I would REALLY appreciate some guidance here – it can’t be difficult.
And old post I know, but as per usual I can’t always find the exact detail of how to implement a solution in the WPDM Support forums, so anyway here is a clear explanation of my how I added a text search box to the Verse homepage, it may well work just as well for any other WPDM oriented theme.
A nice part of this customisation is it only edits /verse/homepage-top.php, which can happily run in a child theme. I just added the following code at around Line 77, keeping the same structural <div> elements already used on the page. Obviously you could also use the child theme style sheet to format if required.
————————————
<div class=”container”>
<div class=”row”>
<div class=”col-md-12″ style=”top:12px;”><p><?php echo do_shortcode(“[wpdm_simple_search]”); ?></p></div>
</div>
</div>
*the extra <p></p> isn’t really necessary, but it just seemed to render better for me!
————————————
Additional Notes:
Folder level searching in /download-manager for ‘Search Package’ hits /tpl & /tpl4/search-result.php
Folder level searching in /wpdm-archive-page for ‘Search Package’ hits /tpls/simple-search-form.php
Looks like the same code.
————————————
<div class=’w3eden’>
<form id=”srcp” style=”margin-bottom:20px”>
<div class=”input-group input-group-lg”>
<div class=”input-group-addon input-group-prepend” style=”width: 50px”><span class=”input-group-text” id=”spro”><i class=”fa fa-search”></i></span></div>
<input type=”text” class=”form-control input-lg” name=”src” value=”<?php echo wpdm_query_var(‘s’, ‘txt’); ?>” placeholder=”<?php _e(‘Search Package’,’wpdm-archive-page’); ?>” id=”src”>
</div>
</form>
<div style=’clear: both;’>
<div class=’wpdm-downloads row’ id=’wpdm-downloads-ss’></div>
</div>
</div>
————————————
I tried using this search form code (& function) and although it DOES give me a full width search field but doesn’t work as nicely because it throws the user to the results page.
Summary
Now I have a search that not only beautifully scrolls over the background with the rest of the homepage elements, but the search results are seamlessly loaded right back into the homepage, elegantly moving all of the lower elements of the homepage down below the search results. Nice! So it looks like it was meant to be there, very pleased with the result. However it would be *even* nicer if I could:
– have more positional control (eg. text-align: center doesn’t seem to work)
– make the input field wider (seems set at a fixed width around 20 characters)
– change the default text from ‘Search Package’ to ‘Search Images’
But I can’t find where this is set in the code, grreat to know if anyone else knows where or how to customise 🙂
FYI folder level searching in /wpdm-premium-packages or /wpdm-extended-shortcodes or /verse for ‘Search Package’ gets no hits.
Thank god I found this post regarding Verse – the ‘unchanging’ Link & Page Templates were driving me insane trying to get the WPDM PDF viewer shortcode working…….because if you follow the support documentation you get…nothing! I always though it sensible to use a recommended theme with a heavy plugin, but in this part of the code it seems WPDM + WPDM + WPDM = ????
Ayways, is there *any* way – even hard-coding an ID somewhere – of having a package that *will* use the ‘Selected Link & Page templates’ rather than /verse/single-wpdmpro.php? Or can you just not use PDF Viewer with Verse Theme?
Perhaps an extra IF statement in the admin panels to catch this for Verse Theme users would be a nice future enhancement…..