I need an add-on developed for Gravity Forms that zips files from a Multi-File Upload field. The zipping function should be optional. In the field settings, there should be a checkbox for zipping the files from the field. This would be labeled "Enable File Zipping", and the tooltip text would be.
Using Gravity Forms generic styling, the line of code for the tooltip would be:
<a href="#" onclick="return false;" class="gf_tooltip tooltip tooltip_form_field_file_zip" title="<h6>Enable Multi-File Upload</h6>Select this option to enable multiple files to be uploaded for this field."><i class="icon-question-sign"></i></a>
If the checkbox is checked, a box should pop out under the checkbox, similar to the Categories box on the New/Edit Post screen (seen in the preview linked below). This box allows the user to name a new zip file for those files to be zipped into. A form can have an unlimited number of zip files, and a Multi-File Upload field can use multiple zip names.
For instance, one field could zip into A and B, while another field zips into B and C. When an entry is submitted, three zip files are created. A and B each contain a portion of the files, while C contains the complete set of files from both A and B combined.
Lists are unique to each form. A list can be removed by clicking the "x" ([url removed, login to view]) next to the list name. When the user clicks "+ New Zip", the list is exits left while new content enters from right. The new content is an input field for the zip filename and a dropdown to select parent zip. If a Multi-File Upload field is added to a child zip, the parent zip filename should also be checked automatically, but the user should have the option of unchecking the parent name while leaving the child filename zipped.
On the New/Edit Notification screen, a new area labeled Attachments should have a checkbox list of the zip filenames. As is standard, child zip filenames should appears indented. However, marking a child filename should NOT inherently mark a parent filename here. Above the list of zip filenames, there should be a bold title labeled "Zipped Files".
When files are zipped, capitalization remains the same, all spaces in the filename are replaced with dashes, any zip name not ending in ".zip" has the ".zip" added onto the end of the filename (unless the filename ends in a period, in which case only the "zip" would be added to the end), and all special characters should be removed. The only characters allowed in the filename should be letters, numbers, dashes, underscores, and the "@" sign.
Zip files created and zipped using this plugin should be attached to the notifications exactly as the filename appears. However, these zip files should be stored with their entries (downloadable via Entries) with the format: FILENAME_FormID_EntryNo (e.g. [url removed, login to view]).
The plugin should be called "File Zipping". I plan to sell it on CodeCanyon as "File Zipping for Gravity Forms", and I'm willing to offer the author 20% of the profits made in exchange for handling updates and maintaining the changelog. The plugin should be stored in a zip file with the filename "[url removed, login to view]".
Example: [url removed, login to view]