Stephen Sherrard

Forum Replies Created

Viewing 15 posts - 691 through 705 (of 769 total)
  • Author
    Posts
  • in reply to: Recent Orders broken #4831
    Stephen Sherrard
    Keymaster
    in reply to: No End Date – for recurring tasks #4829
    Stephen Sherrard
    Keymaster

    Unfortunately, all the dates for a recurring event are stored in one database text field, and there is a limit as to the size of that text field. It actually used to be even smaller, but when we couldn’t add enough dates for one of our school’s events, I increased that field type to VARCHAR(500).

    I’m not sure how much larger you could make that field without it slowing things down, but you could try manually editing the database fields definitions, and perhaps switch it to type LONGTEXT, which is what is used for the sheet description (like a normal post content field). It’s the ‘dates’ field in the tasks table, which is the second database table. Definition is in the main plugin file on line 382.

    You can increment the database version number to force it to update, or deactivate/reactivate, and that should update the tables with any changes you make. Could also try updating that field type with any database tools you have for your server, such as PHPMyAdmin.

    in reply to: No End Date – for recurring tasks #4823
    Stephen Sherrard
    Keymaster

    While I agree that would be a nice feature to have, it’s simply not possible with the current database structure of this plugin (which was born as a fork from another plugin that had already setup the basic database table structure).

    It would require some fairly massive re-writing of the code, or, at the very least, creating a new sheet type with its own separate database table and separate functions to handle all the display and sign-up functions (both on public and admin side). Either way, still quite a bit of extra coding to make it all work.

    Something specific, like what you need with 4 volunteers for every evening for every day of the year, is probably better off being handled by a custom programmed solution, like I have done for other organizations.

    I will leave this here, along with all the other feature requests, although the chances of me adding something like this to this free plugin (which generates no revenue or even donations), are extremely small. But, since the plugin is open source, other programmers may want to take some of these feature requests ideas and run with them.

    in reply to: Filling slots with someone else as an admin #4607
    Stephen Sherrard
    Keymaster

    This has been asked a few times, in different ways.

    If you are logged in as admin, and then you sign-up somebody else with their name and email, the sign-up will be assigned to your user account (since you were logged in when you signed up), so the signup will show up in YOUR list of events you signed up for on the main page, and you (as admin) will be the only one who can see them and clear those sign-ups. The confirmation email and reminder emails, however, will still go to the email that you entered when you signed up.

    So, that particular way of doing things might be helpful if the volunteers don’t have user accounts on your site and you don’t want to create user accounts for them, or if you don’t want them to be able to view and clear their own sign-ups from the main volunteer page.

    The second way you could do it is to LOGOUT of your admin account so that you are a guest user, and then when you sign up for something, my plugin will search for the email you use within the site user accounts, and, if it finds a match, will assign that signup to the user account with the matching email. Then, when that person logins to their account on the site, they will be able to view their sign-ups and clear any signups on their own (if you don’t disable the clear function for that sheet). With this method, you may need to first make the sign-up sheets publicly accessible while you are signing people up, and then you can log back in when you are done and change the setting back to hide sign-up sheets from the public (if desired).

    Hope that makes sense!

    in reply to: Prevent page reload #4580
    Stephen Sherrard
    Keymaster

    OK… I appreciate the detailed posts and what you are trying to do, and the link to a potential solution. However, it still involves modifying the plugin to add/enqueue some javascript as shown in that link, and then modifying the PHP part of the plugin to see if that parameter has been added to the form, and add it to all the generated links. Not something that would necessarily be useful to anyone else, and still belongs in the “feature requests” category with all the other requests that people ask for (plus all the others that people email me about without adding them to the feature requests section).

    However, there may be a slight work-around that may do what you want. In that link to your own signup page you gave me, seems like you have a simple list of dates/sheets that are clickable links that then open a sheet with the list of tasks.

    Here is what you can do, and that I have tested with my own plugin:

    • Create a separate page/post for each sheet and use one shortcode with the id argument that goes with the sheet you want to show on that page.
    • In my plugin settings where there is a select box to set the main volunteer page, leave that set to “none”
    • Create a page like your main volunteer page where you have links to each of those pages you just set up.

    If you do the above, and they go to one of those pages with the single id shortcode, and then click on something to signup for, after they signup and click to go back, they will go back to that specific signup sheet page they started (because you haven’t set up a default page in the options to return to).

    Optionally, you can also purchase my Groups extension:
    https://stephensherrardplugins.com/plugins/pta-volunteer-sign-up-sheet-groups/
    and then you can arrange sign-up sheets into groups and use a shortcode to display just that group’s list of sheets. When the groups shortcode argument exists, the return links will be reworded to direct them back to the page with the shortcode for that group.

    Perhaps one of these methods might work for you without any additional custom programming.

    in reply to: Prevent page reload #4574
    Stephen Sherrard
    Keymaster

    Maybe you need to explain a bit further:

    Are you putting several individual sign-up sheet shortcodes on the same page so that you see several sheets worth of tasks on one page? Or are you just using the main shortcode but have a really long list of sign-up sheets? Or are you talking about one specific sign-up sheet that has a very long list of tasks that the user needs to scroll through?

    Right now, any links that you click on for my plugin are adding arguments to the URL, so my plugin is checking the global GET variables to figure out sheet id, task id and date. The final signup form is a standard form that must is POSTed by clicking on the button to submit, and keeps you on the same page. If the form’s POST parameters are set, then my plugin processes the form data and gives you the success or error message on the same page. At that point, the URL in your browser has not changed.

    The Go Back link uses a function to remove all my query arguments from the current URL, so that everything is reset and you see the main list of sheets again.

    Unfortunately, as far as I know, there is nothing built into javascript that allows you to retrieve query parameters, but if you do a search for that, you can find some code snippets that others have written to get that from the window object. You would then need to search through the dom elements to find the links on the page (that were already generated by my plugin) and append your anchor fragment to the end of the links. It would also have to get that anchor fragment value from your page’s CSS, but then when you get to the next page, you have no way of knowing which of your forms generated the link that was clicked on.

    If you have several of my plugin’s shortcodes generating different output sections on the main volunteer page you are using, my plugin has no way of being aware of any additional CSS elements you may have added to the page. Each one of those shortcodes calls a function in my plugin, and that function simply returns some html content that WordPress uses to replace where that shortcode was. My plugin has no way of knowing what is before or after the shortcode, unless it was already part of the global GET or POST variables.

    There is also no direct communication between PHP (server side, all executed before returning html outpu) and javascript (browser side, all executed after the html content has alread been generated and downloaded to the browser). To communicate between javascript and PHP, you need to do an AJAX call, where the javascript posts some data back to the server, which runs a pre-specified PHP callback function that then returns a response back to the javascript.

    Unfortunately, unless I’m totally misunderstanding what you want to do, there is no simple and easy solution to what you want to do.

    I’m happy to talk with you privately if you want to discuss hiring me to code a custom solution for you, otherwise you could put your ideas into the feature request section.

    in reply to: Prevent page reload #4561
    Stephen Sherrard
    Keymaster

    That’s not possible without some custom coding.

    There are really only two ways to do that:

    1. Disable the default POST form submit and process the form via jQuery/AJAX so the page doesn’t have to reload. This would involve coding and loading custom jQuery code on the sign-up page, as well as adding a PHP function for the AJAX call to process and save the form data and return it to the jQuery script to display any messages/results.

    2. You could put anchor tags on the page and have the form post action specify the anchor tag to go to. However, you would still need to modify the signup form plugin code with some kind of conditional check so that you know which signup form is being generated and which anchor tag it should go to. Right now the action for the forms is simply a blank screen since the plugin posts the form to the same page that you are already on (so that plugin users can use it on any page).

    Neither solution is quick or simple, and would require quite a bit of custom programming. #1 is probably the preferred solution that is used more often these days. If you have a working budget, I’m happy to discuss privately what it might take to program that for you. But, since the free plugins are open source, if you or anyone you know has the programming skills, you can certainly give it a shot on your own.

    in reply to: Front End Submission #4429
    Stephen Sherrard
    Keymaster

    Hi Carlen,

    Thanks for posting.

    Are you talking about the Volunteer Sign-Up Sheets plugin, or the Member Directory plugin?

    At one time I was working on front-end submissions for the Member Directory plugin, where users could submit their own listings, with approval from Admin before they get published. For the Volunteer plugin, there was nothing similar… people can sign-up from the front end, but sheets need to be created from the admin side.

    Either way, I have no current plans to work on either of those, as I’ve become far too busy with custom development projects where I can actually earn almost enough to feed my family. The free plugins, even with the low cost add-on extensions, are lucky if they bring in $20 each month or so… not even enough to cover the time I spend on supporting them. So, right now, any further features or extensions for those are extremely low priority unless there is enough interest or up front funding to cover my time.

    The plugins are all open-source, though, and, as such, any developer is free to create extensions for them, or to modify them and fork them into their own plugin. If you have working knowledge of PHP and how the hook system works in WordPress, or know somebody that does, it wouldn’t be that difficult to create your own extensions. My free plugins have plenty of action & filter hooks in place to allow them to be extended by other developers.

    Stephen Sherrard
    Keymaster
    in reply to: Add a new event #4357
    Stephen Sherrard
    Keymaster

    You first have to fill out the main sheet info and then hit the Save Sheet button, which will then take you to the tasks page (step 2).

    If somehow you saved the info on that first page, but didn’t get taken to the tasks page, there are two ways you can get to the tasks page. From the All Sheets page, you can hover over a sheet title and click on the “Edit Tasks” link, or if you click on “Edit Sheet” instead you will go back to the first sheet edit page but then there will also be an edit tasks button below the save sheet button.

    in reply to: add volunteer name to 'clear' area #4317
    Stephen Sherrard
    Keymaster

    There is a bit of a work around for this if your volunteers also have user accounts on your site. If you make the sign-ups publicly accessible and log-out of your admin account (so you are a guest user), then if you sign up for something and use the email associated with each volunteer’s user account, my plugin will assign that sign-up to that user, so then if they sign in they will be able to see and clear their own sign-ups. After you enter all your sign-ups, you can always turn back on the option to force people to login, if you don’t want the public to view & sign-up.

    That’s the only way it can work right now if you are manually entering sign-ups for your volunteers, but want them to be able to see what they signed up for. Just make sure you are NOT logged in so that the sign-up gets associated with the user_id that matches the email you enter.

    As far as seeing the names when you want to clear someone from a sign-up, that can be done from the admin dashboard. Go to “All Sheets” in my plugin’s menu, then click on the name of the sheet, or hover over it and click on “View Sign-Ups”, and then you can see a complete list of the sign-ups, including phone, email, and full name, and there is a “clear spot” link next to row allowing you to clear any sign-up you want.

    in reply to: Reminders not running wp-cron #4307
    Stephen Sherrard
    Keymaster

    The CRON event is scheduled within the activation hook, and the handle for the job is:
    pta_sus_cron_job

    I like the plugin Crontrol for examining Cron events and rescheduling them or forcing them to run.

    If you are not seeing that Cron function, then something may have prevented it from being set up properly when you first installed the plugin. So, you may want to first try simply deactivating it and then reactivating it, which should schedule the function again.

    If that still doesn’t work, then perhaps there is some other plugin causing some weird conflict that is preventing the cron job from getting registered? Hard to say as it is working fine on my development server as well as my son’s school PTA web site.

    If it still isn’t showing up after deactivating/reactivating the plugin, you could use that Crontrol plugin to add an hourly cron job, with the hook being: pta_sus_cron_job
    and just leave the arguments set to none: []
    Then see if it works.

    in reply to: PTA Sign-up Sheets – cannot access settings #4224
    Stephen Sherrard
    Keymaster

    Email is required to send confirmation and reminders, so there is currently no option to make that not required.

    There also is no option to hide those start/end time columns, although you can use the Customizer extension to change or hide the table header text (columns will still be there, though).

    Feel free to submit any ideas to the Feature Requests section. Or, if any of these are something you absolutely need right away, I can always be hired for custom programming work. As these free plugins don’t generate any revenue (not even support donations), adding new features is extremely low on my priority list. Paid work always gets priority.

    in reply to: PTA Sign-up Sheets – cannot access settings #4219
    Stephen Sherrard
    Keymaster

    The capabilities & roles my plugin needs are created at activation, so perhaps something interrupted or failed to call the activation function when the plugin was installed. Happens sometimes. Glad you got it working.

    in reply to: PTA Sign-up Sheets – cannot access settings #4217
    Stephen Sherrard
    Keymaster

    Are you on a multi-site install? I have only had one other report in the past of something similar on a multi-site install where the SuperAdmin user couldn’t access the settings for some weird reason. I added some code after that to take that into account Super Admins and to add the appropriate capability to all super admins, that should have fixed it, but multi-site admin capabilities seems to be strange, and doesn’t always work as expected for each site in a multi-site (there is a place somewhere in the user settings where you can set a user’s roles for each site separately).

    Try creating another admin account that is regular admin (not Super Admin) or even just using the role my plugin creates (Sign-Up Sheet Manager), and see if you can access the settings then.

Viewing 15 posts - 691 through 705 (of 769 total)