Pro Sites (Supporter) 3.0 Release Candidate

Hey all the last thread here ( https://premium.wpmudev.org/forums/topic/pro-blogs-supporter-30-beta-3-release ) was getting too long, so starting fresh again with beta 7.

I think we're almost ready for release!

UPDATE:
Release Candidate 4 here: https://premium.wpmudev.org/forums/topic/pro-sites-supporter-30-rc4-almost-there

  • jordanskole
    • New Recruit

    Hey Aaron, I got the following error with 7:

    Fatal error: Cannot redeclare class ProSites_Module_XMLRPC in /home/user/public_html/wp-content/plugins/pro-sites/pro-sites-files/modules/xmlrpc.php on line 5

    update I got the error when uploading 7 over 6 via ftp. I deleted the entire directory and then uploaded the .zip via wp-admin and everything seems a-okay now.

  • HamRadioDude
    • HummingBird

    I reinstalled Wordpress and started installing plugins again and instead of ussing supporter decided to jump on Pro Blogs I was configuring Beta 6 then beta 7 came out and Downloaded the new beta7 and disabled beta 6 then uploaded the plug in over 6. Went to activate it and got a White screen can't access site now. Then got (You do not have sufficient permissions to access this page..) while going back and forth trying to regroup. Logged out deleted plugin now logged back in. re-uploaded Beta 7.
    It worked this time.

  • Niklas
    • The Incredible Code Injector

    This plugin is shaping up nicely, I am installing it for a customer and thought the blog selection could use a better interface so I did a blog selection drop down, this is the code (starts at line 1646 in pro-sites.php, this code replaces the text box where you manually had to enter the blog id that was there before.

    <td><select name="bid"><?php
    	                // Accepts a starting offset ($start) and maximun number ($num) of returned blogs, use 0 for no limit
    	                function psts_get_blog_list($start, $num) {
                            global $wpdb;
                            $blogs = $wpdb->get_results($wpdb->prepare("SELECT blog_id, domain, path FROM $wpdb->blogs WHERE public = 1"), ARRAY_A);
    
                            foreach((array)$blogs as $details) {
                                $blog_list[$details['blog_id']] = $details;
                            }
                            unset($blogs);
    
                            // Return an empty array to prevent errors if there are no blogs found
                            if (!is_array($blog_list)) {
                                return array();
                            }
    
                            if ($num == 0) {
                                return array_slice($blog_list, $start, count($blog_list));
                            } else {
                                return array_slice($blog_list, $start, $num);
                            }
                        }
                        // Print the select list by fetching all available blogs
                        foreach (psts_get_blog_list(0, 0) as $blog) {
                            echo '<option value="' . $blog['blog_id'] . '" title="ID: ' . $blog['blog_id'] . '">' . $blog['domain'] . $blog['path'] . '</option>';
                        }
    	            ?></select></td></tr>

    Perhaps the query should select from public and non-public blogs?

    I hope it (or some variant of) can make it into the plugin.

  • wecreateyou
    • The Crimson Coder

    Hi @KFUK-KFUM

    Just a thought...

    How would this perform for very larger networks? Would that require a fancy ajax version to be more practical?

    Are you listing the ID their or the name of the site? If it's the ID you still need to know the id of the site in relation to the customer to be particularly useful so maybe a search by email address to find all blogs registered to that address then select them by name.

    Your thoughts?

  • Niklas
    • The Incredible Code Injector

    What are your definition of very large? Creating fifty blogs with a total oct over 16k posts and a database filled with over 100k rows of metadata produced zero visible delay in this function versus three blogs. The site, when ready, will serve 400-1000 blogs.

    The query only hits one table and will be unlikely to produce more than 100 bytes of data per row (for example: 4 bytes for the ID, 50 bytes for the domain, 46 bytes for the path). 1000 rows would therefore be about 100kByte, not too much memory.

    Let's say it takes 0.5 seconds for a large query for 1000 blogs to complete, it is till only a fraction of the minute the administrator must spend to find the blog in the listing, hover over the link to get the id# and then return to the input and enter said id# into the text field. I would say that with this the time used to select the correct blog will be less than 1/50th the time compared to the old way.

    Another part of the analysis is that this function is only used when the admin visits the select blog page, therefore the need for a super-optimized version will not be necessary.

    As you can see when you look at the code I list both the ID, the domain (for subdomain installs) and path (for subfolder installs). The code can be easily extended to also show the name of the blog using get_blog_details.

  • wecreateyou
    • The Crimson Coder

    I was thinking more like tens of thousands to 100,000 sites. (Edublogs for example is over a million blogs) I will be offering free sites and I have a list over 3000 opt in users that will likely become immediate users. Then there's an online marketing campaign will likely add many more users very quickly. I'll do the math and make a judgement call based on the numbers you've provided. I'll give your code a spin... thanks for sharing by the way :slight_smile:

  • Aaron
    • CTO

    Thanks for sharing, but as said it's not scalable. We don't do anything thy can't be scaled in multisite. This plugin is going up on edublogs and a dropdown with 1mill+ blogs woul crash your browser. Actually you shouldn't really have any dropdown with more than a few hundred items in HTML.

  • Niklas
    • The Incredible Code Injector

    How do you manage that number in Wordpress? We are testing WPMU on Amazon and are starting to see obvious slowdowns and memory problems and scaling problems on standard wordpress installations when reaching 100+ blog.

  • Niklas
    • The Incredible Code Injector

    Thanks troykd, but will it support multi-db? Seems a bit wrong to dismiss a 50-fold increase in productivity for network admins (also, remember that this solution avoids all the other queries required to the database(s) when the admin is opening page after page browsing for the right blog) when the reason for that is not achievable anyway, no?

  • wpcdn
    • Syntax Hero

    Does Pro Sites include a Supporter check like the previous version of Supporter did? If so, what's the syntax for using it?

    I'd like to do things like create a Dashboard widget that appears to non-Supporters (encouraging them to upgrade).

    Thanks,

    Mark

  • wecreateyou
    • The Crimson Coder

    @KFUK-KFUM you are welcome to post those feature suggestions as you did. There are several suggestions on this thread so that's okay. You're original post was in fact a feature suggestion/request and you even were kind enough to share your code. I appreciated that.

    But what we learned from that suggestion took us on the sidebar but that's totally understandable. We were attempting to answer the question of why your feature can't be included in an official release. I see no harm here.

    also @KFUK-KFUM... I would start a thread at this point in the appropriate forum about how to scale your site up with multiDB and possibly even info on caching and CloudFlare technology. Sounds like you need that info.

    Cheers!

  • Niklas
    • The Incredible Code Injector

    Then I'm perplexed on why you didn't start another thread instead of using the ProSites Beta thread which is completely unrelated.

    Because I was perplexed by the argument (and wanted to reply to the post in this thread) that Pro Sites need to scale to millions of blogs while at the same time it does not support multi-db, which is essential for a Wordpress site to scale. It makes not sense to me.

  • HamRadioDude
    • HummingBird

    I'm trying to enter a URL for a user to Upgrade Via Command line http://domain.com/pro-site/?bid=1 that will bring site 1 (Main Blog to upgrade page) how do I pass the SITE_ID to the URL

    Also I have a link on top of the main blog when I go into Site Admin that says
    You have 14 days left in your Pro free trial. Checkout now to prevent loosing Pro features »
    What happens to the main Blog after 14 days will I get locked out? Can I ignore it?

    I also have a problem with the Domain Mapping Plug in
    It will not except the url for the domain.
    And by the way this is on a Totally New install

  • Aaron
    • CTO

    Also I have a link on top of the main blog when I go into Site Admin that says
    You have 14 days left in your Pro free trial. Checkout now to prevent loosing Pro features »

    That's strange, how did you get the main blog into a trial? The main site always is a pro site.

  • HamRadioDude
    • HummingBird

    Where you pass it the blogid.

    I want to put it in a Page and a post to link to a payment page

    That's strange, how did you get the main blog into a trial? The main site always is a pro site.

    How No Idea?
    theres the easy way of doing things and the hard way I always end up with the hard way it always takes me 3 extra steps to get anything correct I have no luck :>

    checked chrome same message

  • poohnix
    • Design Lord, Child of Thor

    Where do I set the From: address for the system messages sent by this plugin? (Welcome, payment receipts, etc.)
    It doesn't use the network setting as the supporter plugin did, but a "WordPress <wordpress@mydomain.com>" address, which I don't have anywhere in my config... i don't know where it came from.

  • poohnix
    • Design Lord, Child of Thor

    I've also seen what seems like a bug in the PayPal payment procedure... when signing up via PayPal express, the initial signup and payment info is received immediately in the payment call, giving the user the level immediately. But then, a minute later, comes the IPN call... which initiates the payment receipt to be sent, but also extends the pro site level another period - giving the user twice the time he paid for.
    Later recurring payments still comes on time, of course, but if the customer cancels he will keep the pro site level he has for one period longer than paid for.
    (For example, a test user signed up for level 1 today, and then it said on the account page that even if cancelled the blog would continue to have the level 1 features until October 11, 2011... a minute later the IPN call comes, and it then says November 11, 2011.)

  • poohnix
    • Design Lord, Child of Thor

    Do you have BuddyPress installed? That wipes out the network from setting for all emails, stupid I know.

    No, no buddypress installed, never had it...
    I had Supporter, but hadn't lauched the site yet, so I uninstalled it and are testing this instead...
    The Network settings are still correct, just checked.

    (To clarify; When testing supporter, the info was correct. I uninstalled supporter and installed pro sites - then the info was incorrect.)

  • HamRadioDude
    • HummingBird

    @Aaron

    That's strange, how did you get the main blog into a trial? The main site always is a pro site.

    I just realized what might have happened.
    I was checking out the link to pay for the Blog and went to paypal to see if it was working as it should But I did not pay. I saw what poohnix above wrote and it dawned on me maybe by doing what I did it didn't get paid and the opposite happened to me it took it away?

    Now the question is how do I fix it, with out having to give myself pro every year :< ?

  • troykd
    • The Crimson Coder

    I also have a problem with the Domain Mapping Plug in
    It will not except the url for the domain.
    And by the way this is on a Totally New install

    n2rga: Did it work with pro sites uninstalled? It doesn't install like most plugins.

  • wecreateyou
    • The Crimson Coder

    Hi @n2rga...

    You can remove the Pro privileges altogether and you'll be back were you started. Super Admin's don't need Pro Site privileges so the primary site isn't on a Pro plan at all. As Super Admin you see everything that's hidden to the rest of the network anyway.

  • HamRadioDude
    • HummingBird

    You can remove the Pro privileges altogether and you'll be back were you started. Super Admin's

    @wecreateyou
    OK good thanks

    n2rga: Did it work with pro sites uninstalled? It doesn't install like most plugins.

    @troykd
    Thats a good question I tried after it was installed and I went to do my first personal site to test the signup then domain mapping I will try disabling it now

    EDITED:
    I disabled Pro sites and the domain mapping still didn't work.
    I even moved the sunshine on statement in wp-config.php up above networking statements and disabled domain mapping and then enabled it by deleting the files and then reloading the site then re-uploading it. Still didn't work.

  • troykd
    • The Crimson Coder

    I disabled Pro sites and the domain mapping still didn't work.
    I even moved the sunshine on statement in wp-config.php up above networking statements and disabled domain mapping and then enabled it by deleting the files and then reloading the site then re-uploading it. Still didn't work.

    N2: If it was me, I'd start a thread on the Domain Mapping plugin.

  • kshengelia
    • The Incredible Code Injector

    Hello,

    I have renewed my Membership here 2 days ago and I have just installed beta version of Pro Sites and I am quite surprised with it's functionality :O This isn't just new version of Supporter, this is whole new plugin and thanks for this amazing work!

    I'll report bugs if I find any.

    * UPDATE - Coupons - Adding form. When I am selecting date a calendar appears, but weeks and months names are in Japanese or Chinese or something.

    Thanks,

    Kote

  • kshengelia
    • The Incredible Code Injector

    * UPDATE - Plugin is still in beta, so please add only one currency in it - Georgian Lari (GEL). I asked same about MarketPress and it's OK if GEL will be built-in in following version, but as to Pro Sites, please add before releasing full version.

    * UPDATE - Plugin creates page called "Pro Site", when I am opening that page it says "Please choose a blog to Upgrade or Modify", could you rename blog to sites (as you do everywhere)?

    * UPDATE - wp-admin/network/admin.php?page=psts-settings - sites are called "blogs" almost everywhere (especially in descriptions of specific options).

    * UPDATE - This blog is temporarily disabled until payment is received. Please check back later. - I think you know where this message is shown, but this isn't important. It's another name "blog" related issue - I believe "blog" is mentioned in many other places instead of "site", so I think you will take a look about it before releasing full version.

    Thanks a lot,

    Kote

  • poohnix
    • Design Lord, Child of Thor

    I have an issue with the Pro Sites settings page... Every time the settings are saved, backslashes are added for any quotes and such in the text boxes, and not stripped when shown again... so for every save more backslashes are added, unless I remove them in every text box before saving.
    I've bypassed it by using curly quotes in text (for emails and such), but can't do it for html code...

  • LCDist
    • The Incredible Code Injector

    Found a new odd error for ya today....

    I ended up narrowing my site down to a fresh wordpress install with the default theme just to test things... so its definitly a bad interaction between the 2 plugins

    The new bbpress plugin coming out has issues with prosites... at least on the main sites page... I honestly have no clue how this worked so Ill just tell you everything I observed.

    I installed wordpress followed by prosites...in which Im getting no Pro Upgrade or Pro Sites button in my dashboard for my site admin of the main site.... but I do in my secondary test site... not sure if its normal not to have one in the main site but every time I reinstalled pro looked the same so I am assuming thats normal.

    Anyway I then installed bbpress plugin, I know its in beta also but I figure its best to catch these bugs early instead of after release.

    On the primary network site, bbpress appears to work fine, you can make forums and categories however if you set a forum as belonging to a parent category you get an error saying the webpage dosent exist.

    On the secondary test site on the same multisite wordpress with the same admin user, I turned on bbpress on that site and tried teh same thing, I could access all the forums as well as sub forums.

    Now I have absoultly know idea how this error could be but Im no expert... I wont be messin with that test site again tonight so Ill leave the forums as is and link em here... when I wake up all bets are off on if they will still exist but for now here are the links:

    main network sites forums: http://lchosts.com/forums/
    sub forum that wont work: http://lchosts.com/forums/forum/testing/testing2/
    forum in main dir: http://lchosts.com/forums/forum/main-dir/

    secondary test sites info:
    forums: http://test.lchosts.com/forums/
    sub category that works fine: http://test.lchosts.com/forums/forum/test/testing/
    main dir: http://test.lchosts.com/forums/forum/main/

    Neither site above was upgraded in problogs and the bbpress plugin plugin itself was not network activated, it was activated on a site by site basis the admin user.

    Sorry this post is so long but I wanted to try to get you enough info to diagnose whats goin on... hopefully some of what I found was usefull lol

  • nacke81
    • WPMU DEV Initiate

    Is it possible to charge a setup fee in addition to the monthly fee in either paypal express or paypal pro? On my site, I actually send out a starter kit because I'm giving users more than a blog and I need to charge a setup fee.

  • dokether
    • WPMU DEV Initiate

    Agreed with nacke81. I want to do a setup/customization fee for doing an initial theme setup/customization to match their logo and then still have a recurring subscription going on after that for hosting and whatever plugin package they have subscribed to.

    --
    Additional thought to get around this: this could potentially be remedied by forcing user registration sign-up cost and then they sign-up for a specific "hosting" plan or whatever. Would still be more useful to have it all integrated into one easy user flow though.

  • poohnix
    • Design Lord, Child of Thor

    One thing that would be nice, (an not only in this plugin, but others where users are paying, like the membership plugin), would be to have the ability to use more than one currency.
    Now I have to set up different sites depending on audience... most of my services are geared both towards US/international, (where USD is fine), and Europe and UK, where I would prefer to be able to offer EUR and GBP pricing.

  • poohnix
    • Design Lord, Child of Thor

    Where this would be preferable, we have got used to dealng in USD online rather than GBP.

    Well, in some cases, yes.
    But the users by far prefer to use their local currency, if at all possible. (When given a choice, most even use their own currency even though it's consistently more expensive in the pricing we use, than paying in USD.)

    My business is UK based, but the users are about 20% UK, 30% Europe, 45% US, 5% rest of the world.

  • Tee
    • The Crimson Coder

    Hi!

    This plugin is looking very promising and one of the main reason of my membership :slight_smile:

    More ore less everything runs fine abaprt from checking out with Paypal. Is this due to the beta release or a problem using it in Germany with € as currency?

    Would it make sense to already start translating the plugin as there will only be minor changes in the GUI?

    Thanks
    TF

  • wecreateyou
    • The Crimson Coder

    @kshengelia I do feel your enthusiasm, I absolutely love this plugin!

    But having said that... I'm sure there's a really good reason we're still in beta and I'd rather be a bit more patient considering how many moving parts this plugin has and how many other plugins are being integrated with Pro Sites support.

    If it's stable enough for your setup then use it in production, but I always trust the developer's call on this one. It's what you don't know that can hurt you.

  • troykd
    • The Crimson Coder

    @khengelia - I think it should be released with full support for Multi-DB environments.
    I understand that the devs behind Multi-DB still have to sort out some very important issues.

    Absolutely. Edublogs runs on multi-db so it's pretty important for them to get it right for the guy that signs the paychecks. The frustrating part is not having a timeframe. They say the developer is on break. Seems like a pretty long break since the multi-db issue goes back almost 2 months.

    If you have subscribers, the goal is to get big enough to need multi-db so it's got to be a critical plugin to work with pro sites.

  • kshengelia
    • The Incredible Code Injector

    @megakrav, @wecreateyou,

    Yes, I perfectly realize your reasons why it should be in beta, but what if it is released now, and then it will be integrated with different plugins as an update. I mean, I, myself don't use MultiDB, so users like me are waiting for integrating this plugin with MultiDB in order to use this plugin without MultiDB, it's pretty funny :slight_smile:

  • troykd
    • The Crimson Coder

    It may not be just multi-db. The Google +1 plugin didn't work with pro sites either. This is going back to Beta1 but I had to rename my plugin directory to get back to the admin panel. I haven't seen anyone say it works together now.

    The silence from the Dev team though is deafening.

  • magakrav
    • Design Lord, Child of Thor

    @troykd - Interesting you mention the "silence from the dev team" - they just released a big update for MultiDB (3.0.7) - it now has backend administration options which I have network installed but been unable to access.

    So now I'm thinking that the MultiDB Dev may finally be back - hopefully Prosites-MultiDB integration is next.

  • Aaron
    • CTO

    Yes we will be updating all other plugins that have hooks into Supporter, though most should be backwards compatible without a problem.

    I understand that the devs behind Multi-DB still have to sort out some very important issues.

    Actually we just pushed out 3.0.7, can any of you guys who have multidb test with Pro Sites please? We're hoping it fixes the issue, but the real delay in this is we've never been able to recreate the issue in all 3 of our multidb test sites.

    The Google +1 plugin didn't work with pro sites either.

    Theres been alot of changes since beta1, I doubt it's an issue still (and was never confirmed bug originally).

    This topic is already very passive (1-2 days goes so that no new reply is posted), this means bugs are fixed and there isn't any problems I think.

    I've been working on it almost every day actually. But i've already recommended to go ahead with this in new installs, it's definitely ready. The main holdup is confirming the multidb issues are fixed, so anyone who can test that will be a huge help!

  • kshengelia
    • The Incredible Code Injector

    I've been working on it almost every day actually. But i've already recommended to go ahead with this in new installs, it's definitely ready. The main holdup is confirming the multidb issues are fixed, so anyone who can test that will be a huge help!

    I have to say that I have tested it and found none of bugs (except several, posted above), but thing is I am not able to test

    1) How it works with MultiDB - as I am running live network and I am not going to use MultiDB (as I am not going to get that big)
    2) Check-out process as PayPal isn't available here.

    Everything rest works fine..

  • kshengelia
    • The Incredible Code Injector

    Anyway, I was going to post a question about bbPress. You know, bbPress 2.0 finally came out as plugin and I am interested how it goes with Pro Sites - is it able sub-sites of network to have bbPress installed? It's kind of bbPress related question too (itself supports network-wide activation or not), but I'll test how it goes with Pro Sites plugin and will notify you.

  • nacke81
    • WPMU DEV Initiate

    Everything seems to be working fine except some of the bugs mentioned here. The biggest one that is staring me in the face is the free trial expiration notification for sites that have already upgraded to a paying site and should't see that warning.

    I'm trying to get my site integrated with paypal express right now, and then upgrading to paypal pro shortly. Since I can't charge a setup fee in addition to the monthly fee, I'm having do the initial payment a little differently until I can make the adjustments to integrate a setup fee.

    I'm planning on accepting payments starting Friday and launching in beta until I get all of these issues resolved, which means setup won't be automated for new customers, but at least I'll be able to do some real testing with the paypal integration.

  • magakrav
    • Design Lord, Child of Thor

    @Aaron

    Tested with MultiDB 3.0.7 and Prosites Beta 7 with 265 and 4096 configs

    Findings:

    1. Sites can now be created using admin panel and wp-signup.php (awesome)
    2. Blog template works when creating a default site (awesome)
    3. No more issues pertaining to being unable to save changes to prosite settings, prior issue of having settings erases is no longer happening (awesome)
    4. Checking network performance settings - old multidb 3.0.6 with problogs 7 - 17 seconds of loading time - new multidb 3.0.7 with prosites 7 0.58 seconds(awesome)
    5. Checking mod_fcgid logs ---> no more resource errors! (awesome)

  • magakrav
    • Design Lord, Child of Thor

    @Aaron - with these recent developments, do you think that the Beta 7 is now stable enough (pending the production version) to be deployed on the production servers? I'm still testing and none of the old issues/problems are there anymore

    @kshengelia - I think this is what you have been asking about :wink: its seems ready for MultiDB

  • nacke81
    • WPMU DEV Initiate

    I've been testing the signup process and integrated with Paypal Express in the sandbox and I'm having a few difficulties.

    During the signup process at wp-signup.php, I can't figure out how to get someone to actually go to paypal to pay. The new site can be set up perfectly, but I figured it would work like this

    => Page 1 - Username, email, pass ... click next
    => Page 2 - Site Name, Site Title, Site Description (using description plugin) ... click signup
    => Page 3 - Choose your subscription type (Free, Plus, Pro, Etc)
    => Page 4 - Goes to paypal to checkout

    But I can't figure out how to give them a subscription option during signup to get them to paypal. The site automatically sets up as a free trial.

    And here's another weird thing...

    After I click the activation link in my email, I get a message that says "Success ... you can now visit your site or login" ... but when I click those links I get an error message that says "This site is temporarily disabled until payment is received. Please check back later. Re-enable now »"

    So it seems like during signup, users are automatically assigned to a free trial and then, when they try to login to start using their free trial, it says "they need to pay" ... so it seems like the free trial option isn't working.

    Any ideas? Has anyone else run into this problem?

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    Yes we will be updating all other plugins that have hooks into Supporter, though most should be backwards compatible without a problem.

    More specifically, which ones among the following have already been deemed compatible with Pro Sites and which ones will need an update?
    - Domain Mapping
    - Affiliates
    - Supporter Advertising
    - Multisite Analytics

    Thanks.

  • Aaron
    • CTO

    The new site can be set up perfectly, but I figured it would work like this

    This is how it's designed to work. It's not possible to include it as part of the checkout process due to technical reasons and the WP activation process. Instead when they first login to their dashboard they will be shown the checkout page.

    but when I click those links I get an error message that says "This site is temporarily disabled until payment is received. Please check back later. Re-enable now »"

    That's because you have enabled the Pay to Blog module. You can customize the message, or deactivate that module if you don't need it.

    If you want a free trial you need to configure it.

  • nacke81
    • WPMU DEV Initiate

    Thanks Aaron ... I was clicking the link that said "view your site" instead of the link that says "log in". By choosing "log in" to the dashboard, the warning notification never shows up and it works perfectly, redirecting to the subscription selection page. Very nice!

    I just removed the "view your site" link after signup because it would probably be confusing to new members.

  • Chris M.
    • Site Builder, Child of Zeus

    Well, I went ahead and started to install beta 7 on our production system. I ran into a few bugs. The first is that quotes in the settings messages are double-escaped. So, if I set up one of my emails to include a quotation mark, next time I load the settings page, I see \" instead of ". Rather than digging into it, I just killed all the contractions in my messages.

    The second was a bug I had to fix. Around line 2367 I changed it to:


    if ( isset($_GET['code']) || $error ) {
    ?><option value="<?php echo $key; ?>"<?php selected(@$coupons[$new_coupon_code]['level'], $key) ?>><?php echo $key . ': ' . $value['name']; ?></option><?php
    } else {
    ?><option value="<?php echo $key; ?>"><?php echo $key . ': ' . $value['name']; ?></option><?php
    }

    There was an issue with using the selected() function on an array that I'm assuming (by the @ usage) doesn't always exist. Putting that in a condition has fixed the problem so far.

  • Tee
    • The Crimson Coder

    Hi,

    I already took the risk starting to translate the plugin as I don't expect too many changes from the UI.
    This is just to inform you, that there are many parts in the admin area that are translated, but not shown in the final language.

    Bests
    T

  • nacke81
    • WPMU DEV Initiate

    Did anyone figure out what to do about the free trial expiration notice at the top of the admin dashboard? All new users on my install have a notice that says "you have 6 days left" on a ten day free trial. I assume it's because my first trial user started 4 days ago.

    Are you just disabling this notice altogether?

  • Aaron
    • CTO

    will this plugin auto turn ads on the subscriber's website after the payment due date?

    Yes

    I see \" instead of ". Rather than digging into it, I just killed all the contractions in my messages.
    The second was a bug I had to fix. Around line 2367 I changed it to:

    I'll fix those.

    Will the stable version support 2co payment system?

    We plan to add other gateways soon, not in this initial release though.

    there are many parts in the admin area that are translated, but not shown in the final language.

    Make sure you update your .po file. Theres alot of changes going on still.

  • Chris M.
    • Site Builder, Child of Zeus

    There are a bunch of places in the PayPal gateway that still use the word "Blog" rather that "Site".

    Also, how difficult would it be to add an option to coupons so that you could choose whether they affect the first payment only, or all payments?

  • magakrav
    • Design Lord, Child of Thor

    There is an issue with enabling premium themes on any subdomain blog.

    Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/mysite.com/httpdocs/wp-admin/admin-header.php:34) in /var/www/vhosts/mysite.com/httpdocs/wp-includes/pluggable.php on line 934

    Is there anybody else experiencing this?

  • nacke81
    • WPMU DEV Initiate

    I just noticed the "blog" mention after someone subscribes. It shows up on my site after a payment has been successful made ... it says "Your PayPal subscription modification was successful for ..."
    Thank your for subscribing to ...
    Visit your newly upgraded blog »

    Chris M. - Did you figure out where this is to change it? I'm going to have to get that fixed today too.

  • nacke81
    • WPMU DEV Initiate

    Something else worth mentioning ... if you set your accounts up with monthly/quarterly/annual payments and are offering a free trial, the checkout page will show all three options for the free trial. This doesn't really make sense to offer an annual $0 payment for a limited time free trial.

  • kshengelia
    • The Incredible Code Injector

    @Thorstend, yes that is the way I used in recent version of Pro Sites called "Supporter", but if Pro Blogs are changed to Pro Sites, why not translate "blogs" to "sites" everywhere (in core and not with PoEdit)? I think this it would be translated for full release.

  • nacke81
    • WPMU DEV Initiate

    Very cool Aaron. I'm going to start testing everything now.

    I already noticed one strange thing. I'm testing Paypal Express right now in the sandbox and after choosing a paid subscription and then returning to the site (by the way, noticed you removed blog here ... nice) ... when I go back to the dashboard, it still shows the trial notification at the top.

    Is this just because I'm in the sandbox? Will this stop showing if I turn paypal to live?

  • Chris M.
    • Site Builder, Child of Zeus

    There's a bug in the trial_notice function. Currently it gets $expire by:


    $expire = $wpdb->get_var("SELECT expire FROM {$wpdb->base_prefix}pro_sites WHERE gateway = 'Trial' AND expire >= '" . time() . "'");

    Notice anything missing? I stared at that function for 20 minutes before I realized that it's not passing $blog_id to the SQL query, so it's ALWAYS getting an expiration as long as there's one or more active Trial accounts. The query needs a blog_id = $blog_id added.

  • Aaron
    • CTO

    Yes, that was fixed in the last version.

    when I go back to the dashboard, it still shows the trial notification at the top.

    I'll fix that in the next version. When in a trial period PayPal gateway was delaying the first payment until the trial was up, so the trial flag for gateway was not getting set to PayPal on checkout.

  • Aphrodite
    • The Reaper

    Yes, though I will probably be integrating that plugin directly into Pro Sites Ads module later, as it's a bit confusing for them to be separate.

    Well, waiting for that with great impatience ! :slight_smile: :slight_smile: :slight_smile:

    Works fine for me, exploring great functionnalities. Good job !

    Well, may I insist on the "insert ads code" thing we have discussed some times and the problem on the auto excerpt use on many themes that shows ads code instead of ads generally on main pages or archeve pages.

    Pay attention to that, because that mean almost 40% of the themes in farm pack and some (as buddyperss business or social) are NOT usable as free themes with ads on a multisite.

    Bravo !

    :slight_smile:

    PS : hum.... well... so... how can i say... mmmmm....and.... what about the moneybooker thing ?

    /me whistling, looking at the ceiling

  • Moonworks
    • Code Wrangler

    Is there a way to change the order of the levels shown on the upgrade page?

    I added them in order, but they are showing up in reverse order on the page, so the highest priced is at the top and the lowest on the bottom, but I want them to show the other way.

  • magakrav
    • Design Lord, Child of Thor

    @Joe

    Is there a way to change the order of the levels shown on the upgrade page?

    I added them in order, but they are showing up in reverse order on the page, so the highest priced is at the top and the lowest on the bottom, but I want them to show the other way.

    ---

    Add this to your wp-config.php file - it reverses the order of the packages

    //this is for Prosites
    define('PSTS_DONT_REVERSE_LEVELS', true);

  • Niklas
    • The Incredible Code Injector

    I have some minor cosmetic improvements to the Pro Sites Levels screen I would like to see. One is adding a class to the button to make it a proper Wordpress button and the other is a fix for a nicer line height by wrapping the currency abbreviation in a label element.

  • marikamitsos
    • The Crimson Coder

    Hi all,
    First of all Great work Aaron. Still... I have an enhancement request.

    Lets say We have 3 levels of ProSites. Pro1, Pro2, Pro3
    When you want to edit a site having the Pro2 level and give some extra or ONLY some specific plugins to it, you go to the Site-> Edit-> scroll down to the plugins and there you find ALL the plugins that are NOT network activated.

    The screen reads:

    Plugin Override Options
    Checked plugins here will be accessible to this site, overriding the Premium Plugins settings.

    But it actually does NOT override the settings. It just adds the extra plugins you choose to the already existing ones permitted by the level the site is in. Meaning all the plugins for Anyone, plus all the plugins for Pro1, plus all for Pro2 plus the ones you choose. Correct?
    I would expect it to ONLY allow the ones you choose. Is it possible to achieve this?

    In both cases (adding some extra plugins or checking specific ones that override the Premium Settings) it would be very helpful to have an extra field next to the plugins' name showing their minimum Pro Site level, picked up from the Premium Plugins screen:
    Akismet Anyone
    Hello Dolly None
    Lightbox Pro1
    MarketPress Pro2 and so on...

    The same applies for the Pro Themes as well.

    What does everyone else thinks?
    Any +1 on the subject?

  • troykd
    • The Crimson Coder

    The free trial is a great idea, unfortunately it's not working on my day old install.

    I enable the free trial and set the level. Log out and when I come back, it's back on disable and the first level. Plugins activated are prosites, multi-db, domain mapping, WPMU DEV Update Notifications.

    Thanks

  • nacke81
    • WPMU DEV Initiate

    The free trial seems to be working on my install. But I'm not using muti-db or domain mapping.

    Here's a quick note about the paypal payments though.

    I'm now using the plugin on a live site with live paypal express integration. Everything seems to be working except when someone upgrades from a free trial to a paid subscription, the date for their first payment in paypal is set for the day their trial ends. Not a huge deal, but it would be nice to get the money right away.

    I guess that's why the free trial expiration notification that counts down the days still shows up at the top of the screen after upgrading.

  • Aaron
    • CTO

    is it possible to select different bulk packages for each level, or just a single level?

    Just one level. Edublogs is pretty much the only people that use bulk upgrades, not very common.

    I enable the free trial and set the level. Log out and when I come back, it's back on disable and the first level.

    I think you are not understanding it. Free trials are applied only to new blog signups, at the point of signing up.

    the date for their first payment in paypal is set for the day their trial ends.

    Thats fixed in the next version.

    Will this plugin feature some sort of translation or will I have to translate the pluginfiles myself?

    It's fully internationalized so you can easily translate like all our other plugins.

  • Moonworks
    • Code Wrangler

    Pro Sites is all looking great now, thanks for all the hard work :o)

    At some point, will a large number of the other plugins include some Pro Site code? It would be really good to have a variety of options built into the other plugins so that if a member has gone Pro, they will automatically be able to take advantage, such as the way Domain Mapping works.

  • troykd
    • The Crimson Coder

    I enable the free trial and set the level. Log out and when I come back, it's back on disable and the first level.

    I think you are not understanding it. Free trials are applied only to new blog signups, at the point of signing up.

    I understand but as Network Admin, when I set the prosite setting up for free trial, they don't stick. It goes back to disabled after I log out as network admin.

  • thinkmarketact
    • Site Builder, Child of Zeus

    I removed all supporter files from root, plugins, and mu plugins

    there are a few plugins i want to add to see if they work with pro sites.
    affiliates - i dont think pro sites has anything to do with this but i need something that will let me know who referred X and how much X paid - if i give affiliate 40% do i have to manually check X site to see if they paid monthly, quarterly, or yrly?

    I was thinking i could give people coupon codes (pro-site) pro site does tell me how many times the coupon was used but it does not tell me what it was used for. so someone could use the code for monthly or yearly.

    i also tried playing around with ad sharing and support advertising and when i try to install either of those the site errors out and says please install the support ads modual in mu-plugins.

    after i do this i get a function call error saying i need to install supporter?

    i think the pro-sites is a lot nicer than supporter but i really would like to do the following

    1-show advertisments on non upgraded sites
    2- set up an affiliate network so i know who referred x and how much x paid with out manually looking.
    any input?

  • UNIIMI
    • The Incredible Code Injector

    @thinkmarketact You need to also install the Affiliate plugin from WPMU Dev in order to do a lot of the things you mentioned. Once you do, you'll be able to see who referred whom by going to /wp-admin/index.php?page=affiliatesadmin

  • thinkmarketact
    • Site Builder, Child of Zeus

    Now after re uploading the supporter ads mu plugins file and then removing them i get the following error when i try to go to the main sites admin back end

    network back end works fine
    sub sites and sub site back end all work fine

    Fatal error: Cannot redeclare supporter_show_ads() (previously declared in /home/sites/public_html/wp-content/mu-plugins/supporter-ads.php:157) in /home/sites/public_html/wp-content/plugins/pro-sites/pro-sites-files/modules/ads.php on line 488

    ?

  • magakrav
    • Design Lord, Child of Thor

    @troykd try this, worked for me

    So the setting doesn't stay? When you log back in and visit the settings page it doesn't have the same days value?

    Correct. Set it, save it, log out and log in and it's gone.

    changed db-config values from

    add_db_server('00', 'dc1', 1, 1,'','localhost', 'table_00', 'user', 'password');

    add_db_server('00', 'dc1', 1, 1,'localhost','localhost', 'table_00', 'user', 'password');

    And I was able to save settings and the activity of other users on their admin panels did not reset my settings.

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    A little issue with the the URL of the checkout page. When there's another argument on the page request (like lang=fr in a multilingual environment for example), the URL is wrong (a second '?' instead of a '&' seperator).

    I scanned 2 places in the code where it could be changed like this:

    - pro-sites.php line 573:

    $url = add_query_arg( array( 'bid' => $blog_id ), $url);

    - pro-sites.php line 3066:

    [...] . add_query_arg( array( 'bid' => $blog_id, 'remove_coupon' => 1 ), get_permalink() ) ) . '</div>';

    Thanks.

  • poohnix
    • Design Lord, Child of Thor

    Does anyone have to deal with more than one currency with Pro-Sites? Let's say a level at $150/yr and EUR100/yr. If yes, how did you do so far? Not just PayPal applying the change rate of the day of course.

    I haven't done it, but would like to have this option too. I mentioned it in an earlier post, and it would be nice to see in future releases.

  • asimetrick
    • Site Builder, Child of Zeus

    I hoped I could build a patch and make it multi-currency, but the way it's done, it's unfortunately impossible (there's not even a currency field in the wp_pro_sites table so the amount is always meant in the same default currency).

    So yes, it would be more than nice to have this option in a future release. Giving to the customer the ability to pay in their own currency allows a much higher conversion rate (European people don't like to pay in US dollars and American people almost never pay in Euros). So the sooner the best for this feature actually.

    @Aaron, would it be too late at this stage of progress (RC1) to just make this version just multi-currency "friendly" or compatible by storing and using the currency in the database and ensuring both amount and currency may be ovrriden by extension with custom code (plans, coupons, etc.)?

    Thanks.

  • Aaron
    • CTO

    That's a huge undertaking and currently none of our plugins (or any others out there) support this type of setup. You also have to deal with gateways though. The vast majority only let you receive payments in the currency of your account, PayPal for example this is not possible.

  • poohnix
    • Design Lord, Child of Thor

    PayPal for example this is not possible.

    Huh?
    Of course it is. you can set payment currency to anything you want; I have this in almost all my custom coded web sites.
    It's just a matter of what you set the currencyCodeType parameter to for express checkout payments, or CURRENCYCODE for direct payments with website payments pro, and in your account you can set up any currencies you want to receive in, with balances for each currency.
    That's been possible for years and years and years in PayPal.
    You MAY block payments made to you in a currency you don't hold, but you can either open a balance in that currency, or convert it in YOUR end when any payment is done. Still, that doesn't affect the buyer, he still pays the same amount in HIS currency.
    I prefer to hold multiple currencies in my account, since I often make payments in various currencies, and therefore avoid exchange fees... only time is when I withdraw the money.

  • poohnix
    • Design Lord, Child of Thor

    Sorry, the nvp paramater is CURRENCYCODE both for express checkout and direct payments with website payments pro. The other was an internal parameter in PayPals example code. My mistake.

    I still like to see this both in this plugin, and in the membership plugin... both has the same issue, forcing me to create separate web sites for each audience.

    Having multiple currency options makes a huge difference in conversions...

  • asimetrick
    • Site Builder, Child of Zeus

    Okay.

    At least, would it be possible to allow overriding the defaut "Supporter" level? In other words, change the implementation of the 'is_supporter' function by something like this:

    function is_supporter($blog_id = false) {
    	return is_pro_site( $blog_id, apply_filters( 'psts_supporter_level', false ) );
    }

    That would allow us to patch something while waiting for integrating plugins upgrade.

    Thanks.

  • Niklas
    • The Incredible Code Injector

    The upgrade notice/form is failing accessibility tests, mainly by missing radio buttons and labels but acts like it should have, users with screen readers will discover the form, see the table and then read the content and then the "No thanks, I'll pass" but never gets the ability to select any of the options.

    Also, of minor importance, there is a bug in the site.com/pro-site/ page that causes PHP to give warning messages for each subscription period if PHP debug is E_ALL:

    Warning: number_format() expects parameter 1 to be double, string given in /kfuk-kfum-dev.fyrkantigt.se/wp-includes/functions.php on line 155
    Warning: number_format() expects parameter 1 to be double, string given in /kfuk-kfum-dev.fyrkantigt.se/wp-includes/functions.php on line 155
    Warning: number_format() expects parameter 1 to be double, string given in /kfuk-kfum-dev.fyrkantigt.se/wp-includes/functions.php on line 155
  • HamRadioDude
    • HummingBird

    Noticed this on on my add on site at top
    You have 100489 days left in your Pro free trial. Checkout now to prevent loosing Pro features »
    Is this the intended message for a site
    the history of the site is this

    2011-09-14 3:40:33 pm Pro Site level upgraded from "Pro" to "Pro Elite".
    2011-09-14 3:40:32 pm Pro Site status expiration permanently extended.
    2011-09-14 5:24:14 am Pro Site status expiration extended until September 28, 2011.

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    My first end to end testing with Pro Sites and PayPal Express Checkout and it's not very successfull: I'm stuck on the upgrade page with the following error returned by the 'SetExpressCheckout' function:
    - Error code = 10002
    - Short message = Security error
    - Long message = Security header is not valid
    By the way, this error is not displayed on the upgrade page, is it normal?

    Of course I created and entered my PayPal API settings (Username, Password and Signature) and I subscribed to Express Checkout on my business PayPal account. Additionally, I'm from Canada and I access my account from the Canadian site, so I setup the Canadian site and the Canadian dollar in Pro-Sites. And I'm in test mode.

    What am I missing? Just creating a sandbox account instead of using my live business account?

    Thanks.

  • Aaron
    • CTO

    I'm a bit confused as to whether I need the pay to blog along with pro-sites. We don't offer a "free" option, they are all paid.

    If it's a new setup, use pro sites with pay-to-blog module. Separate pay to blog will be discontinued once backwards compatibility is built into the module.

    - base_country
    - active_message

    Base country is the setting on general used for shipping/tax calculations. active_message is not in MP, not sure where you are seeing that.

    Security header means your API info has a problem. If you are using the sandbox you need to enter sandbox API info, ditto with live.

    Re: Standard Paypal - thats what the old supporter used, and is far less powerful. Express is still free but allows for:
    - Seemless checkout, redirect back to payment page
    - Upgrades/Downgrades
    - Cancelations
    - Refunds

  • Aaron
    • CTO

    You have 100489 days left

    Good catch that would be how many days till the next y2k bug (http://en.wikipedia.org/wiki/Year_2038_problem for you nerds) which is really what permanent extending changes it too. I'll fix manually extending so that it overrides the gateway field and stop showing as a trial.

    can the affiliate package work with this?

    Affiliate should work for this for the first payment just as it did for supporter.

    is this going to have an offline payment option?

    Already does, choose the manual payment gateway.

  • asimetrick
    • Site Builder, Child of Zeus

    Base country is the setting on general used for shipping/tax calculations

    Okay. But I scanned the entire code, and the only place it looks appearing is on defining its default value. It's not even settable, is it? So can we change it, and if yes, how except by custom code?

    active_message is not in MP, not sure where you are seeing that

    Well, it's defined on line 211 of pro-sites.php, so stored in the settings. It's the only place I could find it in the code.

    If you are using the sandbox you need to enter sandbox API info

    Yes, I have my answer.

    Standard Paypal - thats what the old supporter used, and is far less powerful

    Than Express Checkout? It still allows CC payment for free (no monthly nor SSL fees). So it's definitely dropped?

    Thanks.

  • LCDist
    • The Incredible Code Injector

    Hey I may of found a potential problem when I was messin around with t rying to get problogs to work with the support system, but was getting issues with it recognizing the function is_supporter... pro blogs was getting loaded after incsub since when I changed the folder name to zincsub it started working again

    https://premium.wpmudev.org/forums/topic/supporter?replies=25#post-138086
    My post in the supporter system if you wanan see the problems I had ^

    I found a article about load order Im sure you know all this stuff already but figured Id post it anyway in case its somthin new for you
    http://wordpress.org/support/topic/how-to-change-plugins-load-order

    *Edit* of course markepress has no issues so I dunno maybe it wasnt load order...maybe changeing folder names did somthin else... but still you guys are smarter then I am so you can draw your own conclusions lol

  • Aaron
    • CTO

    The upgrade notice/form is failing accessibility tests, mainly by missing radio buttons and labels but acts like it should have, users with screen readers will discover the form, see the table and then read the content and then the "No thanks, I'll pass" but never gets the ability to select any of the options.

    Hmmm, how should I degrade it? Should it use a noscript tag?

    Also, of minor importance, there is a bug in the site.com/pro-site/ page that causes PHP to give warning messages for each subscription period if PHP debug is E_ALL:

    I'm having trouble recreating this. What are the levels/plans you have and dollar amounts for each?

  • Niklas
    • The Incredible Code Injector

    Hmmm, how should I degrade it? Should it use a noscript tag?

    You need to have the buttons be <input type="radio" id="unique_name"> and use <label for="unique_name">, when that is done you can use JavaScript to replace/hide/modify the inputs to look however you want. Doing so is not so much about degrading gracefully but rather about the basis of writing semantic HTML.

    Turns out the warning messages was due to some amounts were empty.

  • troykd
    • The Crimson Coder

    Aaron - If I save settings in prosites, it removes all of the selected elements in the modules settings (nothing is checked). I don't have to change anything in settings, just hit save and it wipes out the settings in modules.

    Plugins active are multi-db and domain mapping.

    Reported problem in another thread but I've waited a week since the last response.
    https://premium.wpmudev.org/forums/topic/prosites-multi-db-prosites-settings-retention-problem?replies=6#post-138218

    Did the suggested change to the config-db file with no difference.

    Thanks Troy

  • asimetrick
    • Site Builder, Child of Zeus

    @Aaron,

    Could you add a new filter on product checkout description? On lines 724, 770 and 1016 of pro-sites.php:

    $desc = apply_filters('psts_pypl_checkout_desc', $blog_id, $_POST['period'], $_POST['level'], $paymentAmount, isset($discountAmt) ? $discountAmt : false);

    One more time, a very small change but a great value.

    Thanks.

  • asimetrick
    • Site Builder, Child of Zeus

    Yes, you're absolutely right on the second argument. My mistake, I was a bit fast on this one.
    Though, what will be the value of the '$discountAmt' argument when there's no discount: 0, false or NULL? Just to be sure to test it correctly.
    Thanks.

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    I’m experiencing unexpected results after the checkout process.

    Let’s say I’m a user with a free blog and I want to upgrade my blog. On the upgrade page, I select the higher level, I Express Checkout, and when I come back from PayPal I’m told my subscription was successful. Until here, everything’s right. Now I come back to my upgrade page and I have no information anymore about my subscription. In fact, I have the exact same page as before upgrading, asking me to choose the right plan for me. However, I have still access to the level’s features. Am I missing something?

    To complete the test, I repeat the process: I Express Checkout the same plan and follow the same process one more time. Now I have the whole information about my subscription on my upgrade page! What did happen? Why not the first time?

    Even more confusing, now I receive an email telling me not to forget to cancel my old subscription! Did I pay and/or subscribe twice? Is the checkout button not also used to just update the payment information?

    So as a good boy, I cancel my subscription with the only button available. Now I’m told I don’t have any current subscription anymore, so I Express Checkout one more time! Finally, everything seems right now, but how many times did I actually pay and/or subscribe? Is this whole process a normal scenario?

    Thanks.

  • Aaron
    • CTO

    ow I come back to my upgrade page and I have no information anymore about my subscription. In fact, I have the exact same page as before upgrading, asking me to choose the right plan for me. However, I have still access to the level’s features. Am I missing something?

    So they got access to the level they paid for, but the paypal sub info was not shown above the plan buttons?

    What information can you give me about the blog before it was updated? Was did it have an expiration in the future? Had it previously been a supporter blog with old supporter at any time?

    Old supporter paypal subscriptions cannot be canceled programatically, so if they change their plan or upgrade it will attempt to detect that and send the email to cancel the old sub themselves in PayPal.

  • asimetrick
    • Site Builder, Child of Zeus

    So they got access to the level they paid for, but the paypal sub info was not shown above the plan buttons?

    Yes, exactly.

    As per your other questions, I'm currently in test mode on a brand new platform. So no legacy Supporter at all nor any actual financial impact for the moment. The blog was created through BuddyPress signup 2 minutes earlier. I even did it twice with 2 new blogs with the same behavior.

    Looking at the code, it's like the condition on line 1199 is always false after the first checkout, isn't it?

    Thanks.

  • asimetrick
    • Site Builder, Child of Zeus

    @Aaron, I found the bug. You just have the switch order of lines 1621 and 1622 in gateway-paypal-express-pro.php. This way, when there's no initial profile id for the blog (my case on first checkout), the last element of the array (popped out in the getter function) is the id itself instead of the timestamp. It explains why it works from the second time on (the timestamp is updated as the second element of the array while the new profile id is added at the end). It also explains the manual cancellation email since the first subscription is viewed as with an old gateway (lines 806 and 811).

    While being in the 'set_profile_id' method, I've noticed that the timestamp is set in the array with the $txn_id key that is not declared nor initialized so the key is always empty.

    Thanks.

  • LCDist
    • The Incredible Code Injector

    2 questions....

    Sorry if This is somewhere in the previous posts but I couldnt find it anyway.... is there a way to export the prices out to a phpfile.. I was considering making a more or less static features table with a few dynamic elements like perhaps prices, quotas maybe, and number of plugins or themes if possible but prices would be the real nice one

    I see in t he code around line 305 and such deals with prices and such where you have price_1 price_3 and so on.... are any of those variables able to be used in a pages php file, in other words are there any global variables I can use. Im getting better at the coding stuff but not the best yet so asking before I screw somthin up lol..

    2nd question... coupons I know you can set expiration dates and such... but can you make a coupon that would expire so no one else can use it after a certain date but would continue to discount the ppl who have used the coupon for the duration of their membership..... was considering offering like a 50% off grand opening for the life of their membership... woudl go for a month or so then end but the way Im seeing the coupon system...and correct me if Im wrong but their rates would go up after that month when I really only want it to go up for new members.

    thanks.

  • jphogbin
    • Site Builder, Child of Zeus

    This is now a very long thread and it is a bit hard to work out where things are up to.

    Any chance of starting a new thread that lets us all know where the beta is up to and what bugs/features are still to be fixed prior to the official release?

    Many thanks.

  • Niklas
    • The Incredible Code Injector

    @Aaron, I took a stab at it myself, this requires two things in the CSS:

    First restore the white text color, then hide the input checkbox and we are all set for a more semantic and accessible form.

    Around line 3100 in pro-sites.php:

    $content .= '<td class="level-option" style="width: '.$width.'"><div class="pblg-checkout-opt'.$current.$selected.'">
    <input type="hidden" value="'.$level.':1"/>
    <input type="radio" name="psts-radio" id="psts-radio-1-'.$level.'" value="'.$level.':1" />
    <label for="psts-radio-1-'.$level.'">
    '.$coupon_price.'
    '.$equiv.'
    </label>
    </div></td>';

    Around line 3125:

    $content .= '<td class="level-option" style="width: '.$width.'"><div class="pblg-checkout-opt'.$current.$selected.'">
    <input type="hidden" value="'.$level.':3"/>
    <input type="radio" name="psts-radio" id="psts-radio-3-'.$level.'" value="'.$level.':3" />
    <label for="psts-radio-3-'.$level.'">
    '.$coupon_price.'
    '.$equiv.'
    </label>
    </div></td>';

    Around line 3150:

    $content .= '<td class="level-option" style="width: '.$width.'"><div class="pblg-checkout-opt'.$current.$selected.'">
    <input type="hidden" value="'.$level.':12"/>
    <input type="radio" name="psts-radio" id="psts-radio-12-'.$level.'" value="'.$level.':3" />
    <label for="psts-radio-12-'.$level.'">
    '.$coupon_price.'
    '.$equiv.'
    </label>
    </div></td>';

    I am not confident about modifying checkout code too much (too many bad PayPal bugs have bitten me) but I think think that the <input type="radio"> I introduced can be merged with the hidden input for even simpler markup.

  • Aaron
    • CTO

    @asimetrick, thank you very much, that was a particularly nasty bug you found! The timestamp should have been under the $profile_id key.

    Re Prices:
    They can be found in the levels array:
    $levels = (array)get_site_option('psts_levels');
    For an example of how to display them examine the checkout_grid() function

    but can you make a coupon that would expire so no one else can use it after a certain date but would continue to discount the ppl who have used the coupon for the duration of their membership

    I plan to add this capability in a future version, no point delaying release for this.

    When I add language pack for pro-sites.Network dashboard translated fine,
    but user dashboard is not translating.

    Hmmm, not sure how that could happen. Have you updated your po file? Also are you sure it's not translating? Can you give me a specific string that's not?

    Thanks @KFUK-KFUM

  • bitingedge
    • Flash Drive

    Hi Aaron

    Not sure if this has already been raised but there seems to be a double counting of the 'paid for' period when a subscription is created (presumably as a result of the IPN notifications)

    The output below is copied from a site log and shows two extensions on a newly created monthly subscription.

    2011-10-08 4:51:42 pm	Payment receipt email sent to hh@web-design-newcastle.co.uk
    2011-10-08 4:51:41 pm	Pro Site status expiration extended until December 9, 2011.
    2011-10-08 4:51:40 pm	PayPal IPN "Completed" received: £7.50 express_checkout payment received, transaction ID 59N88539K7348014L
    2011-10-08 4:51:39 pm	Signup success email sent to hh@web-design-newcastle.co.uk
    2011-10-08 4:51:38 pm	Pro Site status expiration extended until November 8, 2011.
    2011-10-08 4:51:37 pm	User creating new subscription via PayPal Express: Subscription created (Tinker Tailor Network Pro: £7.50 GBP each month) - Profile ID: I-CN8ST2VLA472
    2011-10-08 4:51:33 pm	User creating new subscription via PayPal Express: Initial payment successful (Tinker Tailor Network Pro: £7.50 GBP each month) - Transaction ID: 59N88539K7348014L
    2011-10-08 4:50:42 pm	Pro Site status has been withdrawn.

    The Paypal sandbox account correctly reports the the next payment due on November 8 but obviously the 'supporter' will see December 9 as the next due date. This will be confusing at best.

    Just upgraded the same account to a 3 month subscription which has been set with the later creation date effectively missing a month in between. It also looks like the original subscription wasn't suspended or cancelled - not sure if this is by design and we need to notify subscribers to manually cancel the redundant profile.

    Regards

    Mick

  • twicealive
    • The Incredible Code Injector

    Hi,

    I have a quick question concerning payments for levels:

    level 1 = $2
    level 2 = $4

    If a user subscribes to level 2, does he pay $4 or $6 per month?

    If a user upgrades to level 2 from level 1, what happens to the level 1 subscription? Does he pay $4 or $6 per month?

    Thanks,
    Michael

  • johnnymestizo
    • HummingBird

    @transparencia

    You cant select pro site levels during signup which is a bit weird.

    They actually have to create their username, create a blog. Go to their email, activate it.

    Then, if you have pro sites disabling the front end (pay to blog module), you can force them to choose a level.

    Hope that makes sense!

    +1 for pay to blog (pro site module) during signup

    Johnny

  • transparencia
    • Design Lord, Child of Thor

    That's a great suggestion, Thorsten! :slight_smile: Does it work perfectly with WPMU and Supporter?

    My other question now:
    Imagine I want to show a category of posts to supporters only, if they're not supporters and try to access the posts they're redirected to a page. What's the easiest way to do this now?

  • Tee
    • The Crimson Coder

    So far it passed all my tests with WPMU. There are some themes where it doesn't look too good but I'm sure if you are more experienced with PHP and CSS, than I am you will be able to solve that minor challenge.

    I'm not using it with Support as I am still in beta and waiting for the final release of Pro Sites with with it works so far.

    Bests
    T

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    Let's say I'm a user upgrading a blog. I have a coupon so I enter it. In PayPal, I can see the discount on the first payment as expected.

    Now I come back to my upgrade page and:
    1 - I can still enter a coupon, even the same if it has mutiple occurences
    2 - The discount appears in the checkout description in PayPal, still on the first payment that has already been made

    Is it normal? Aren't coupons reserved for first payments so it shouldn't even be possible to enter any after the first checkout?

    Thanks.

  • Aaron
    • CTO

    Is it normal? Aren't coupons reserved for first payments so it shouldn't even be possible to enter any after the first checkout?

    Hmmm, that's a good point. It would technically be possible to apply a coupon to the first 2 payments right away, and more if the coupon was left open for a long time. I guess I need to include a log of coupon codes used by a blog to limit it to once per blog.

    Now to catch up with the rest of these bug reports...

  • asimetrick
    • Site Builder, Child of Zeus

    I guess I need to include a log of coupon codes used by a blog to limit it to once per blog.

    I was precisely looking for such a log in the code and didn't find any, so it was my next request... Great if you implement it for the next release with a function/API to check it.

    Thanks.

  • asimetrick
    • Site Builder, Child of Zeus

    @Aaron,

    Just a reminder on a very minor bug: in pro-sites.php on line 493, the menu is added on index 4 which is the index for WordPress's menu separator. Index 3 being taken by BuddyPress until version 1.2, I propose index 2. Or even 200 to follow the same trend as BuddyPress...

    Thanks.

  • e4girl
    • Flash Drive

    I'm not sure if this is the right place to post this but I have a few questions about this plugin and it's possible uses.

    First, I'm creating a memorial website for children. I need 3 packages - Basic, Plus & Pro (not sure of the names yet). The basic package will be free (forever) but have limited pages, posting, members/users/admins, plugins and themes. It will also not have domain mapping. Plus (still with limitations but more than basic) & Pro (will have all enabled) will have those additional features.

    From the main site, I only want members/users to be able to sign up for a site (I believe I can just edit the sign-up page to auto select "Gimme a site" and hide "Just a username, please."). I would like the option to choose the package right then. If an user chooses "Basic" then it should create the account, done. If not, then it should direct them to a payment page.

    Now here's the tricky part ... once an user is a "Pro" member and their membership expires, I'd like it to automatically downgrade to the "Basic" level - but not delete their content. Could the content be marked "Draft" with a note that they need to resubscribe? Or something similar? I also want to somehow limit each user to only 1 blog/1 site.

    Is this something that can be done? I searched the forums but couldn't quite seem to find the information I needed. The Pro Sites seems to have a few more options than the Supporter plugin and seems like it'd fit what I need but I can't seem to figure out how to configure it.

    Also, as a side-note, each time I save the settings, it inserts a new page in the main site as "Pro Sites". Shouldn't it just re-save the one? All the pages are blank except the newest one (which had the levels and a link to PayPal). When will this plugin be released for production?

    Thanks for any help/replies!

  • BrianWLeonard
    • New Recruit

    Hi Aaron,

    I'm experimenting with a Godaddy Hosting account with WordPress installs for several secondary domains (e.g., SecondaryDomain1.com, SecondaryDomain2.com, and SecondaryDomain3.com managed within my primary Godaddy account under PrimaryDomain1.com. Will WordPress MultiSite activation and/or Pro Site activation on SecondaryDomain3.com necessarily conflict with WordPress Databases previously created with the GoDaddy WordPress Installer for SecondaryDomain1.com and SecondaryDomain2.com?

    When I activated WordPress MultiSite for SecondaryDomain3.com using the WordPress tools to set up a Network under SecondaryDomain3.com, I got the "Warning: An existing WordPress network was detected"..."To create a new network, you will need to empty or remove the network database tables".)

    When I tried to activate the Pro Sites plugin on the third of three secondary domains I got the following error message:

    Fatal error: Call to undefined function switch_to_blog() in /home/content/87/7924087/html/secondarydomain3.com/wp-content/plugins/pro-sites/pro-sites.php on line 187

    Any suggestions?

  • e4girl
    • Flash Drive

    @BrianWLeonard

    Hi, I also have GoDaddy hosting and there are several issues with the hosting that need to be worked out prior to getting Multisite working correctly. How much do you know about FTP and your hosting account? What type of hosting do you have? How many domains on being hosted in the same hosting account? Are you comfortable playing with/changing the settings? If so, please let me know and I can walk you through some of the issues you are having.

    In regards to the error with Pro Sites, I personally found it only worked when I installed it in mu-plugins. However, the error you are getting could be related to the first error you got when you tried to activate the network.

  • William
    • Site Builder, Child of Zeus

    This thread is getting loooong to keep track.

    With Pro Sites approaching "official" release, as mentioned by Aaron, I'd suggest the plugin page to be up so that we can have the most updated info on this major plugin.

    Also, Pro Sites seems to be a major revamp and successor of Supporter, hence, sufficient details must be provided for existing users on Supporters to migrate to the new Pro Sites.

    One of the most pertinent query about Pro Sites I'm having is ... Discount Code is in right?

  • LCDist
    • The Incredible Code Injector

    Question on payments... Im messing around in the sandbox some trying to get things ready and while it looks like I can take payments... and they can cancel, when I go into look at their subscriptions I see this:

    The Subscription Has Been Cancelled in PayPal
    They should continue to have access until December 13, 2011.
    PayPal Profile ID: I-FJBTPPDJML67
    Last Payment Date: October 12, 2011
    Last Payment Amount: $15.00
    Last Payment Transaction ID: 0HE54281DL460383V

    Fatal error: Call to undefined function get_profile_id() in /home/eze/public_html/wp-content/plugins/pro-sites/pro-sites-files/gateways/gateway-paypal-express-pro.php on line 441

    Any idea what that error is? Im not sure how I caused it honestly

  • Aaron
    • CTO

    Hey guys, really i'm just waiting on sorting out our multidb compatibility problem before final release. We did alot of troubleshooting on that last night. In the meantime, here is RC2 which fixes at least the particularly nasty bugs above. Thanks for your patience!

  • tishimself
    • Syntax Hero

    Hi,

    I would like to try using this plugin, but first a couple of questions..

    1. "Single payments are no longer supported, only subscriptions now (I may add them back later)"
    Are you supporting the Paypal Enhanced Recurring Payment which is less expensive that PayPal Pro? I don't have PayPal Pro, so will I need to either upgrade to Paypal Pro or the users will need a PayPal account to do a subscription?

    2. Is the Supporter WRITE plugin included as part of this?

    Regards,
    Larry

  • Aaron
    • CTO

    1. From my research Paypal Enhanced Recurring Payments will not work with express checkout API, you have to use those PayPal buttons. So no, if you don't want to require a paypal account you will need to use Pro ($30 vs $20 a month).

    2. Yes, with much more power! There are actually 3 module, limit publishing, post quotas, and pay to blog.

  • LCDist
    • The Incredible Code Injector

    I have a question for ya... what advertising plugin do you recommend we use... supporter adds wont work with prosites from what Ive seen. Id like to for all non prosites to have adsense or some other sort of adds on their sites.

  • asimetrick
    • Site Builder, Child of Zeus

    @Aaron,

    Thanks for the RC2 release. I was precisely finding one of these nasty bugs when I received your post... :wink:

    I don't think you've added the log for the coupon codes, have you? Do you plan to add it for the final release? I just need to know if I build something on my side or if I just wait for the release.

    Thanks.

  • Niklas
    • The Incredible Code Injector

    Trying to upload a txt file again.

    Edit: It seems I can only upload images, txt files and the like are forbidden. Pasting the code here, sorry for the block of text.

    case 'price_1': ?>
    								<td scope="row">
                      <label><?php echo $this->format_currency(); ?></label><input class="price-1" value="<?php echo ( $level['price_1'] ) ? number_format( (float)$level['price_1'], 2, '.', '' ) : ''; ?>" size="4" name="price_1[<?php echo $level_code; ?>]" type="text" />
    								</td>
    							<?php
    							break;
    
           				case 'price_3': ?>
            				<td scope="row">
                      <label><?php echo $this->format_currency(); ?></label><input class="price-3" value="<?php echo ( $level['price_3'] ) ? number_format( (float)$level['price_3'], 2, '.', '' ) : ''; ?>" size="4" name="price_3[<?php echo $level_code; ?>]" type="text" />
    								</td>
    							<?php
    							break;
    
           				case 'price_12': ?>
            				<td scope="row">
                      <label><?php echo $this->format_currency(); ?></label><input class="price-12" value="<?php echo ( $level['price_12'] ) ? number_format( (float)$level['price_12'], 2, '.', '' ) : ''; ?>" size="4" name="price_12[<?php echo $level_code; ?>]" type="text" />
    								</td>
    							<?php
    							break;
    
                  case 'edit': ?>
    								<td scope="row">
    								<?php if ( $level_code == $last_level && $level_code != 1 ) { ?>
             					<input class="button" type="submit" id="level-delete" name="delete_level" value="<?php _e('Delete &raquo;', 'psts') ?>" />
                    <?php } ?>
    								</td>
    							<?php
    							break;
    
    						}
    					}
    					?>
    					</tr>
    					<?php
    				}
    			} else { ?>
    				<tr style='background-color: <?php echo $bgcolor; ?>'>
    					<td colspan="6"><?php _e('No levels yet.', 'psts') ?></td>
    				</tr>
    			<?php
    			} // end if levels
    			?>
    
    			</tbody>
    		</table>
    		<p class="submit">
          <input type="submit" name="save_levels" value="<?php _e('Save Levels', 'psts') ?>" />
        </p>
    
    		<h3><?php _e('Add New Level', 'psts') ?></h3>
    		<span class="description"><?php _e('You can add a new Pro Site level here.', 'psts') ?></span>
        <table width="100%" cellpadding="3" cellspacing="3" class="widefat">
          <thead>
    				<tr>
              <th scope="col"><?php _e('Level', 'psts'); ?></th>
    					<th scope="col"><?php _e('Name', 'psts'); ?></th>
    					<th scope="col"><?php _e('1 Month Price', 'psts'); ?></th>
    					<th scope="col"><?php _e('3 Month Price', 'psts'); ?></th>
    					<th scope="col"><?php _e('12 Month Price', 'psts'); ?></th>
    					<th scope="col"></th>
    				</tr>
    			</thead>
    			<tbody id="the-list">
    				<tr>
    				  <td scope="row" style="padding-left: 20px;">
    						<strong><?php echo $last_level + 1; ?></strong>
    					</td>
              <td>
                <input value="" size="50" maxlength="100" name="add_name" type="text" />
              </td>
              <td>
                <label><?php echo $this->format_currency(); ?></label><input class="price-1" value="" size="4" name="add_price_1" type="text" />
              </td>
              <td>
                <label><?php echo $this->format_currency(); ?></label><input class="price-3" value="" size="4" name="add_price_3" type="text" />
              </td>
              <td>
                <label><?php echo $this->format_currency(); ?></label><input class="price-12" value="" size="4" name="add_price_12" type="text" />
              </td>
              <td>
                <input class="button" type="submit" name="add_level" value="<?php _e('Add &raquo;', 'psts') ?>" />
  • HamRadioDude
    • HummingBird

    extended my site and got this in log, I did click on Permanent
    2011-10-13 9:14:25 pm Pro Site status expiration permanently extended.
    then checked site got this message
    This blog is temporarily disabled until payment is received. Please check back later.

    Beside needing to change blog to the word site it didn't work.

  • asimetrick
    • Site Builder, Child of Zeus

    Hi.

    I have a new buggy scenario...

    I signup for a new blog through BuddyPress, no Pro-Sites option at signup, so a free blog. Now I upgrade to a Pro-Sites level that has Premium Plugins and an increased upload quota. Checkout page, PayPal payment, confirmation page, email received, upload quota increased, everything works fine. But: my Premium Plugins are not activated!

    So I tracked the code, and my guess is the 'auto_update' function is only called on upgrade (modify) not on create, is it? Or I missed something, but anyway, the Premium Plugins are not activated in this scenario.

    Thanks.

  • tishimself
    • Syntax Hero

    Hi,

    My issue with using PayPal Pro involves data security for credit card transactions:
    "With Website Payments Standard, PayPal handles the payment card information for you. Because Website Payments Pro lets you accept payments directly on your site, you have to comply with data protection standards yourself."

    Not including the existing Supporter Gateway seems like a compatability issue when this replaces Supporter.

    Regarrds,
    Larry

  • asimetrick
    • Site Builder, Child of Zeus

    @Arron,

    I tested the coupon restriction. What's been implemented works fine so far. But, in my mind, a given coupon may not only be used twice on the same blog as presently coded, but also any other coupon should not be used at all once a previous one has already been used on that blog. I think it's the only thing that makes sense since the first payment is the only one that's not recurring, isn't it?

    If I'm missing something, at least let it be extended with something like this (line 1113 of pro-sites.php):

    if (is_array($used) && apply_filters('psts_used_coupon', in_array($coupon_code, $used), $coupon_code, $used, $blog_id))

    One more thing: the buggy scenario I reported a couple hours ago has not been fixed, right? Did you have a chance to take a look at it?

    Thanks.

  • Aaron
    • CTO

    Thanks asimetrick, will fix. Also i'm adding a filter in check_coupon() for you so you can override, though it applies to the entire function.

    //allow plugins to override coupon check by returning a boolean value

    if ( is_bool( $override = apply_filters('psts_check_coupon', null, $coupon_code, $blog_id, $level, $coupons) ) )
    	return $override;
  • LCDist
    • The Incredible Code Injector

    On the coupons I know you said itll be awhile till you can give a lifetime coupon like 15% off for life... howabout the uses part of the coupon system thats already implemented? if I were to say ... 500 uses on a coupon would that gives 30 dollars off with no expiration... would the 500 ppl then have that coupon for the life of their account and allow me to raise prices after the 'introductory' period without it lookin like im raisin prices lol.

  • bitingedge
    • Flash Drive

    Hi Aaron

    It may be just me but it looks like the latest fix for the 'double extending' has removed the normal extending of the subscription for recurring payments.

    Looks like it needs something like:

    if ($_POST['txn_type'] == 'recurring_payment')
    $psts->extend($blog_id, $period, 'PayPal Express/Pro', $level, $_POST['mc_gross']);

    somewhere within the case 'Completed': case 'Processed': switch block.

    Mick

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.