Friday, February 22, 2008, 4:24:04 PM, [EMAIL PROTECTED] wrote: > I don't have any suggestions, except to say that my wife has asked for > the exact same feature for her website. She wants her clients to be able > to book time with her, and to let everyone know what time she has free > for appointments, but to only let her see who booked the time and why.
It is possible to something like this with Fox, since one can set multiple target pages, and use individual templates for each. To make it into a pretty calendar we could combine a Fox form with PmCal. PmCal is used to open a day page. This would need to prepopulated via a template with a number of empty page text variables, one for each time slot available. Perhaps using the text ptv listing like Appt-0900: Time-1000: Time-1100: Time-1200: etc. With the standard PTV definition this need sto start with a letter, but i think this could be altered. Then a Fox form is included, via (:include Site.BookingForm:), or the GroupFooter. This form will show the available time slots in a select input control, and has other text input controls to enter a name and other info, which can be posted to a different read-protected target page, or sent via email on form submission, using an email template for that purpose. FoxNotify can be used that way and have the required input inserted into the email body. To get the available slots we need to look for empty PTVs in the page. I played with this and wrote a markup expression which will extract PTVs from a page, and create a select input control from the empty PTVs (for selecting available slots). It also creates a hidden input control for each PTV of the page. This is needed for the PTV updating, so the selection can be matched with a PTV target. On submission, after selecting a time slot and entering the name etc. some value (this could be the name, or could be some other string) will be saved as new value for the PTV, and appear in the listing, like Time-1000: Time-1100: booked Time-1200: etc. The select control is automatically updated and shows only the remaining open slots. I can give you the raw fox form source code, and the markup expression which constructs the select control from empty PTVs. I have not done the PmCal integration. Instead i used a second form to select a date page via a pagelist which outputs as a select input control. The page selected with that form will be written into a Date: PTV on the form page, and this is used in the first form to point to the target page from which the PTV timeslots are read and updated. Perhaps this can appear in the cookbook as FoxBookingForm or FoxAppointmentForm? ~Hans _______________________________________________ pmwiki-users mailing list [email protected] http://www.pmichaud.com/mailman/listinfo/pmwiki-users
