Project Request
A simple WordPress plugin allowing users to submit project requests via a frontend form. Requests are stored in the database, an automatic email confirmation is sent to the user, and site admins can view all requests in the dashboard.
by OSAMA-ALI · github.com/osama-ali-software-engineer/project-request-form
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/osama-ali-software-engineer/project-request-form/archive/refs/heads/main.zip<<<<<<< HEAD
Project-Request-Form
A simple WordPress plugin allowing users to submit project requests via a frontend form. Requests are stored in the database, an automatic email confirmation is sent to the user, and site admins can view all requests in the dashboard.
Project Request Plugin
A simple WordPress plugin allowing users to submit project requests via a frontend form. Requests are stored in the database, an automatic email confirmation is sent to the user, and site admins can view all requests in the dashboard.
Features
- Frontend form via
[project_request_form]shortcode - Stores submissions in custom DB table
project_request - Handles file uploads
- Sends confirmation email with custom company content
- Admin menu for viewing all requests in table view and inspecting details (with file download/view link)
- Uninstall flow with backup: On deactivation, you’re redirected to a confirmation page. You can choose to delete the plugin and the database table. A backup of all project request data will be saved in your active theme’s upload folder before deletion.
Installation
- Place the plugin folder in your
wp-content/plugins/directory. - Activate the plugin from the WordPress admin panel.
- Use the shortcode
[project_request_form]wherever you want the form to appear.
File Structure
project-request-plugin/
│
├── project-request-plugin.php # Main plugin bootstrap file
├── project-request-form.css # (Looks redundant - move into assets/css later, but we keep it)
├── README.md
├── uninstall.php
│
├── assets/ # All static assets
│ ├── css/
│ │ ├── project-request-form.css # Main CSS for form
│ │ └── prp-popup.css # Popup CSS
│ ├── js/
│ ├── project-request-form.js # Form interactions
│ └── prp-popup.js # Popup interactions
│
├── includes/ # All PHP classes
│ ├── class-project-request-db.php
│ ├── class-project-request-form.php # Handles shortcode + enqueues form CSS
│ ├── class-project-request-admin.php
│ ├── class-project-request-cache.php
│ ├── class-project-request-email-templates.php
│ ├── class-project-request-file-handler.php
│ ├── class-project-request-hooks.php
│ └── class-project-request-uninstall.php
│
└── languages/
└── project-request-plugin.pot # Translation template
Connection of mail smtp and mailgun mailer
--- define('PRP_SMTP_MAILER','mailgun'); // 'smtp' or 'mailgun' --- define('PRP_SMTP_HOST','smtp-auth.mailprotect.be'); --- define('PRP_SMTP_PORT',587); --- define('PRP_SMTP_ENCRYPTION','tls'); --- define('PRP_SMTP_USER','info@globalinfra.uk'); --- define('PRP_SMTP_PASS','YOUR_SMTP_PASSWORD');
--- define('PRP_MAILGUN_DOMAIN','mg.yourdomain.com'); --- define('PRP_MAILGUN_API','key-xxxxxxxxxxxxxxxx'); --- define('PRP_MAILGUN_REGION',''); // '' or 'eu' --- define('PRP_SMTP_FROM_EMAIL','info@globalinfra.uk'); --- define('PRP_SMTP_FROM_NAME','Global Infra');
## Usage
- Add `[project_request_form]` to any post or page.
- Submitted requests will be shown in the "Project Requests" section in the WordPress dashboard.
- Click "View" in the admin table for full details of each request.
## Uninstall & Backup
When deactivating the plugin, you will be redirected to a confirmation page.
You can choose to delete the plugin and the database table.
A backup of all project request data will be saved in your active theme’s upload folder before deletion.
## Customization
You can edit the email content sent to users in `class-project-request-form.php` (see `$company_content`).
## Author
OSAMA-ALI-SOFTWARE-ENGINEER
## License
GPL2 or later
>>>>>>> be8b0b6624206c1903a7bcc56df5ada7562a7ee1