Skip to content

Latest commit

 

History

History
102 lines (88 loc) · 5.3 KB

README.md

File metadata and controls

102 lines (88 loc) · 5.3 KB

Extendend PopUpJSClient - Beautiful Pop-ups for WHMCS

PopUpJSClient is a WHMCS add-on module that allows administrators to create and manage announcements easily, and display them as stylish pop-ups for users in the client area. The module features a user-friendly admin interface, supports multimedia announcements, and prioritizes the announcements to ensure the most important information reaches users first.

Features

  • Easy Management: Add, edit, and delete announcements from the WHMCS admin panel.
  • Multimedia Support: Create multimedia-rich announcements for more engaging communication.
  • User Group Targeting: Announcements can be displayed based on user groups.
  • Priority System: Assign priority levels to announcements to ensure the most critical information is shown first.
  • Expiration Dates: Set start and expiration dates to automate the visibility of announcements.
  • Multi-Language Support: The module supports both English and Persian languages for flexibility.
  • Responsive Design: Pop-ups are designed to look great on both desktop and mobile devices.

Updates

  • Content Type Detection: It is now possible to determine the type of content, whether it's an image or text.
  • Dismiss for 24 Hours: The dismiss button now sets a cookie to keep the modal dismissed for the next 24 hours.
  • Language Improvement: The language check has been corrected to align with the WHMCS standard.
  • Enhanced Display: Modal display has been improved with new colors and effects.
  • Table Layout Update: Tables now follow the same structure and style as used in WHMCS.
  • Custom URL: Set a custom URL for a image or text annouce. Best fit images in 800x600 example: https://placehold.co/800x600

Installation

  1. Clone the repository:
    git clone https://github.com/percioandrade/popupjsclient
  2. Upload files: Copy the contents of the modules/addons/popupjsclient directory to your WHMCS installation directory.
  3. Activate the Add-on:
    • Log in to your WHMCS Admin area.
    • Navigate to Setup > Addons > Addon Modules.
    • Locate PopUpJSClient and click Activate.
  4. Set Permissions (optional): Configure the permissions as needed for admin roles to manage announcements.

Configuration

After activation, configure the module settings to fit your requirements.

  • Navigate to Addons > PopUpJSClient.
  • Use the admin panel to add, edit, and manage announcements.

File Structure

The project follows a Laravel-style structure for better organization:

/modules/addons/popupjsclient
|-- lib
|   |   `-- Model.php
|   |   `-- ModuleController.php
|   |   `-- ModuleView.php
|   |
|-- resources
|   |-- lang
|   |   |-- english.php
|   |   `-- farsi.php
|   |   `-- spanish.php
|   |   `-- portuguese-br.php
|-- popupjsclient.php
|-- hooks.php

Usage

  • Admin Interface: Use the WHMCS admin area to add/edit/delete announcements.
  • Client Area: Announcements are displayed as pop-ups for clients in the client area. Pop-ups appear based on the announcement's priority, user group, and validity period.
  • Image: For a imagem simple set image url (example: https://placehold.co/800x600) and set content as multimedia and save.
  • Custom URL: For a custom URL set in URL text area

Customization

  • Languages: You can find the language files in the resources/lang folder. You can add more languages or customize existing translations.
  • Styling: Pop-up styling can be customized directly in the addon.php file where the JavaScript code for rendering the pop-up is defined.

Requirements

  • WHMCS version 7.0 or higher.
  • PHP version 7.2 or higher.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request to help make PopUpJSClient even better.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contact

If you have any questions or feedback, feel free to contact me! 😊


Thank you for using PopUpJSClient! If you find this project useful, please consider giving it a star ⭐ on GitHub!