Jump to content


Jon Erickson

  • Content Count

  • Joined

  • Last visited

1 Follower

About Jon Erickson

IPS Marketplace

  • Resources Contributor
    Total file submissions: 5

Recent Profile Visitors

509 profile views
  1. Version 1.0.1


    Integrate Your Community Into The Workplace! Bring together your Invision Power Board community with the ultimate collaboration hub for your team! Slack Notifications leverages the internal notification system of Invision Power Board to relay all your important notifications to your Slack account. Slack Notifications works on the frontend notification system and allows your community members to add as many slack channels as they want, routing all their notifications to multiple channels, all from within Invision Power Board. This application is plug and play and allows your community to customize and configure their notifications independently of one another. Slack Notifications can also work with third party notifications and be integrated into custom applications for Developers. Developers The Slack Notification class extends \IPS\Notification and works as a hook within the send() method. The Slack Notifications class constructor depends on an \IPS\Notification injection and can be optionally configured with several other parameters. See the documentation below for more information and example case use. Slack Notification Class Constructor namespace IPS\slack\Notification; /** * Slack Constructor * * @param \IPS\Notification $notification The notification used to construct the slack notification * @param null $title The notification title. If not used, the notification text will be used. * @param null $pretext Optional pretext. Will default to basic notification string. * @param null $text Optional text. Not used if nothing is passed. * @param \IPS\Url|NULL $url Optional URL for the title. If not used, the notification link will be used. * @param array $fields Optional fields. Example: array( 'title' => 'Field 1', 'value' => 'Test Value' ); */ public function __construct( \IPS\Notification $notification, $title=NULL, $pretext=NULL, $text=NULL, \IPS\Http\Url $url=NULL, $fields=array() ) { // Set class properties $this->title = $title; $this->pretext = $pretext == NULL ? \IPS\Member::loggedIn()->language()->addToStack( 'slack_notifications_auto_pretext', FALSE, array( 'sprintf' => array( \IPS\Settings::i()->board_name ) ) ) : $pretext; $this->text = $text; $this->url = $url; $this->fields = $fields; $this->notification = $notification; } Example (Using native Notification class) // Example of a \IPS\Content item $notification = new \IPS\Notification( \IPS\Application::load('core'), 'notification_key', $this->item(), array( $this ) ); $notification->recpients->attach( \IPS\Member::loggedIn() ); $notification->send(); Example (Send only a Slack Notification) // Example of a \IPS\Content item $notification = new \IPS\Notification( \IPS\Application::load('core'), 'notification_key', $this->item(), array( $this ) ); $notification->recpients->attach( \IPS\Member::loggedIn() ); $slack = new \IPS\slack\Notification\Slack( $notification ); $slack->sendSlackNotifications();


  2. @Revo2020, yes, you would need to hook CreateOAuthCredential and perform an authorization check before the action is executed.
  3. Version 1.0.2


    This lightweight plugins enables your Invision Power Board (IPB) software to act as a web hosting management platform for Reseller Hosting, similar to WHMCS. Unlike a Dedicated or VPS with root access, Reseller Hosting is a cheap alternative for web designers and administrators to host several websites using cPanel's Web Hosting Manager (WHM). Reseller Hosting is offered by many of the top web hosting companies. IPB does not natively support cPanel/WHM accounts without root access thus making resell hosting through IPB difficult. This plugin allows you the ability specify a package/plan name that you've created in WHM and assign it to a hosting product within Commerce. Hosting account quotas such as disk space, bandwidth, email accounts, database accounts etc. are managed through each plan you create within WHM. Popular Reseller Hosting Companies Bluehost ResellerClub Hostgator A2hosting Siteground Requirements: A reseller web hosting account with WHM/cPanel. Open Source Repository (GitHub): https://github.com/DeschutesDesignGroupLLC/ResellerHostingPlugin


  4. Greetings, with the industry standard of Single Sign-On (SSO) continually increasing, the need to provided authentication and authorization across your independent software systems is paramount for system administrators and web development engineers. For those who run WHMCS, a popular web hosting control platform, here is a quick tutorial to use your installation of IPB as an OAuth2.0 client and WHMCS as the OAuth2.0 server to provide SSO capabilities for your IPB and WHMCS systems. Step 1: Make sure your IP is whitelisted within the WHMCS control panel. We will be using the WHMCS API to manage and create our OAuth2.0 credentials. You can add your IP to the whitelisted IP's under Setup -> General Settings -> Security Tab -> "API IP Access Restriction". Step 2: Create a set of API credentials that we will use to access the WHMCS API that will allow us to create our OAuth2.0 credentials. You can add your API credentials within WHMCS control panel by going to Setup -> Staff Management -> Manage API Credentials. Create a new API credential - making sure to copy the identifier and secret. Your API credential will need access to an API role that has all "Authentication" permissions. Step 3: Download an application you can use to run REST API requests. I use Postman which is free and provides everything you will need. You can also use cURL. Step 4: Create an OAuth2.0 credential that will be used by IPB to obtain an authorization code my making a POST request to the WHMCS API. Make sure to fill in 'username' and 'password' with your API identifier and secret, respectively. You can obtain your IPB_OAUTH_REDIRECT_URI by logging into the IPB admin control panel, visit Login & Registration -> Create New -> Other OAuth2.0 -> Application Settings. cURL Request $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( array( 'action' => 'CreateOAuthCredential', 'username' => 'WHMCS_API_IDENTIFIER', 'password' => 'WHMCS_API_SECRET', 'granttype' => 'authorization_code', 'scope' => 'clientarea:sso clientarea:profile clientarea:billing_info clientarea:emails clientarea:announcements clientarea:downloads clientarea:knowledgebase clientarea:network_status clientarea:product_details clientarea:invoices clientarea:tickets clientarea:submit_ticket clientarea:shopping_cart_domain_register clientarea:shopping_cart_domain_transfer clientarea:upgrade', 'description' => 'OAuth2.0 credentials for IPB SSO.', 'responsetype' => 'json', 'redirectUri' => 'IPB_OAUTH_REDIRECT_URI', 'name' => 'IPB SSO' ) ) ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); Postman Step 5: Copy the clientIdentifier and clientSecret you received. Step 6: Fill out IPB OAuth2.0 form with your known settings. Grant Type: Authorization Code Client Identifier: Your copied clientIdentifier Client Secret: Your copied clientSecret Client Authentication: Request Body Scopes to Request: openid, email, profile (Each one as a new line) Authorization Endpoint: https://www.linktowhmcsinstallation.com/oauth/authorize.php Authorization for AdminCP: Use the same endpoint as normal logins Token Endpoint: https://www.linktowhmcsinstallation.com/oauth/token.php User Information Endpoint: https://www.linktowhmcsinstallation.com/oauth/userinfo.php User ID Parameter: sub Display Name Parameter: name Email Address Parameter: email Step 7: Try it out! If you have any questions, feel free to post to this topic and I will answer as soon as possible. You can see it live in action at: https://community.deschutesdesigngroup.com
  5. @opentype When they first released it in one of the 4.4.0 Beta's, I was able to get it up and running and had several successful PayPal transactions with reoccurring charges, however several beta's later it **** the bed and completely stopped working for me. Very frustrating.
  6. Version 1.0.1

    1 download

    The IPS Application Manager provides a useful tool for developers to create a RESTful interface to handle update/version checking for their applications. Whether the application was developed on the IPS platform or third-party software, the IPS Application Manager allows you to quickly add applications, manage their updates and configure a REST API that returns information on the application.


  7. Version 1.0.2


    The Ask A Question plugin provides a simple plug-in-play utility for the Invision Power Board system that adds a small call-to-action form in the bottom right corner of your website. Use this plugin to direct users to a message, contact or support form on your website. The plugin is completely configurable and can be customized to match your website. Customizations Text size, alignment, weight, and color Font awesome icons Background color and transparency/opacity Form URL link


  8. Version 1.0.1


    The License Key Request Log is built on the Invision Power Board platform and allows you to track API requests made to the Nexus license key system. The log tracks the following components of each request: HTTP Request Method HTTP Status Code API Endpoint Date/Time IP Address License Key Identifier Usage ID JSON Extra The application is plug-in-play and there is no additional installation needed. Just upload and it will start capturing all your requests!


  • Create New...