sudo reacted to Ocean West for a file, Endpoints
Endpoints is a Postman library of the endpoints published for IPS 4.
In this version I have only included the GET statements as I wouldn't want any destructive action happen.
To load the JSON file you will need to download Postman - https://www.getpostman.com
Once installed you can setup your own environment with your own API keys or OAuth to your IPS install, once your credentials are setup you will be able to test your API called to your site.
I have also published the endpoints at this location https://documenter.getpostman.com/view/2850550/ips4-get/RVu5iTiR#f2da1a27-2aa1-4321-b9c2-3683ef0e8122
Note: I have yet to finish the Gallery and Calendar - caught a head cold ?
sudo reacted to Makoto for a file, Invision Development Helper (CUI)
Invision Development Helper (IDH)
Invision Development Helper is a command line utility designed to aid third-party IPS developers in their everyday workflow.
IMPORTANT: THIS TOOL IS FOR USE ON LOCAL DEVELOPMENT ENVIRONMENTS ONLY. UNDER NO CIRCUMSTANCE SHOULD ANY OF THE PROVIDED TOOLS BE USED ON A PRODUCTION SERVER.
First, make sure you have installed the included Invision Development Helper.xml plugin onto your development site.
If you are on Linux, you can copy the idh executable to /usr/local/bin for convenience.
Otherwise, just extract the included idh file to the directory of your IPS installation and run it from there.
If the script is not being run while you are currently in your IPS installation root, you must set the path to your IPS installation in the IDH_PATH environment variable.
IDH integrates IPS with PsySh via the console command, allowing you to quickly test and run IPS code directly from the command line.
Command line IPS installation
IDH includes support for downloading the latest IPS release and IPS development resources straight from the command-line.
This hooks into the same API that IPS uses when processing updates within your community. Meaning, obviously, you still need to provide a license key, username and password for it to work. This will then download the latest build available straight from IPS.
In addition to this, IDH now allows you to perform a complete installation of IPS from the CLI as well. This is built not only to make setting up local test and development environments easier, but to facilitate automated testing and pave the way for GitHub CI support in the future.
IDH includes a dedicated CUI allowing you to manage various aspects of your application from the commandline.
From here, you can
View application information Build your application for release (more information below) Rebuild the application Build a new application version Enable/disable problem applications remotely
Build for release
The "build for release" function does all of the following things for you at once:
Creates a new builds directory for you, which is organized by your applications long_version Rebuilds the application Builds and copies the applications PHAR archive, making sure to exclude tests, screenshots, and other undesirable folders Compiles and zips any documentation and license files (README.md, README.html, LICENSE.txt, ...) Compiles all development resources Copies over screenshotos in the screenshots folder (if available) This way, everything is bundled up and ready to be directly uploaded to the marketplace. No having to manually copy or move things around, everything is sorted and compiled for you in an instant.
Just as the old Power Tools application did, IDH provides the ability to generate "proxy" classes used to help your IDE properly resolve IPS' monkey-patched classes.
Even better, it can parse database schema files and automatically assign them as properties to their associated classes!
Clear IPS cache and data store remotely Remotely backup/dump your development servers database Run MD5 checks to find modified core files
sudo reacted to Makoto for a file, VarDumper
NOTICE: This resource is no longer maintained. User @CodingJungle's ToolBox application instead, which has this functionality built-in.
IMPORTANT: This is a development resource. Do not install this application on a production server.
Adds support for Symfony’s VarDumper class via Laravel’s famous dd() and dump()functions.
If you’re not familiar with what those are, it essentially is a much, much prettier and functional version of var_dump() and die(var_dump()) for debugging.
Output is syntax highlighted and arrays can be expanded/collapsed. If you use var_dump() a lot in your debugging routine, this will be your best friend.
Literally just install it. That’s it. The installed application runs eval() to force the functions dd() and dump() into the global namespace, so you can use them anywhere while debugging your code.
sudo reacted to CodingJungle for a file, The Dev Toolbox
Note: It has been brought to my attention that people are using this on IPS community in the cloud and on their live sites causing issues for IPS Support. These tools are designed and intended to be used in a localhost and/or absolute development environments. these tools have zero value outside of development, please use wisely, if you are not a developer or do not intend to use them in a developer environment, these tools are unlikely meant for you.
Note: It is probably best to keep up to date with the repo as i don't often update the app with new versions. I typically update it every 3 or 4 months here. so it is best to pull and update from the repo (mostly the dev branch, check the commit messages, as i usually will leave one if something is broken or its not a good idea to use. typically dev is relatively safe to update from, as it usually contains only bug fixes, it is xp that will have new features or add in breakage.)
The Dev Toolbox is a applications, designed with making working with IPS easier, and to reduce overall production time.
This applications is being provided free of charge to the IPS developer community, but I ask if you find them useful or lifesaving, consider making a donation of any amount, to help ensure the future development of these fantastic tools.
if you would like to access the git repo:
there are 3 branches, master, dev and xp. master will be what is found here in the download, dev will be any bug fixes, and xp will have new features, etc, that are in the works, so it might not be ready for general use.
Here is a list of the the features and how they benefit you. (note: these descriptions are for the individual apps, but the combined app contains all these features and more now):
This application will be most useful for those who use IDE's, especially if you use PHPStorm with the PHP-Toolbox plugin. Once you run it, it will create proxy class for IPS classes (most IDE's are unable to correlate an IPS class, to a class used in the code, due to the use of the _ in the class name). it will also attempt to create property tags for Database columns and the setters and getters found in your code. This is useful for autocomplete and code inspection in your IDE (will make it possible for the IDE to map the class's and their method usage).
PHP-Toolbox is a plugin for phpstorm, that makes it possible to add autocompletes for methods, and alter the return type as well.
Template Return Type: on Theme::getTemplate($group), this will trigger a return type that matches the $group param of the method. this will then provide possible templates that the group can provide. this is limited due to only $group being required, so it might not return the "right" template (as groups and template names aren't regulated like class names are). In my testing and use, this feature is about 95% accurate most of the time. It drastically goes up, the more unique the template name is compared to others. say you have a group called "forms" with a template in it called 'text.phtml', since IPS also has this, it could potentially return the wrong one (depends really on which order the template was processed in). Application Hinting: there are several methods in IPS that require an "app" name in their parameter, this builds a list of app names from the apps installed to "show up" when those methods are called. Table name Hinting: this is for any method that calls a Database table name, dt proxy will generate a list of table names based on the tables present at execution time. Language String Hinting: will provide a list of available language strings that can be used. Template Group Hinting: provides a list of available template groups to most methods that use them as a param. ModPermission Hinting: provides a list of available modpermissions to the methods that use them as a param. Url Hinting: provides a list of available Query Strings that can be used. Furl Hinting: provides a list of available FURL definitions. PHP Core Hinting: adds in additional hinting's and return types for PHP methods. DT Proxy Extension:
The dtproxy extension, you can add property types for Request and Data\Store. It already includes some of the most common property's found in both, but you can add to this with the extension in your applications.
DT Dev Center Plus:
This application extends the features of the developer center for applications in IPS. this will add 3 new tabs to the dev center, along with other improvments.
Sources: this allows you to create "sources" classes for your application. there are several predefined class types you can choose from. There are also options to handle some of the "mundane" things that are involved in creating several classes. most notably are the AR\Node\Items\Comments\Review classes. with each you have the option of creating the databases at creation with a basic layout (mainly the ID column) and with the prefix used if defined (for nodes/items/comments/review, this will also add too the class and to the table it creates, any required/optional fields for IPS traits or interfaces used). For nodes and items, it will also create the corresponding module and controller. (this feature can be turned off by turning of "create scaffolding"). Dev Folder: this tab allows you to create "Dev Folder" components, such as Templates and the JS skeletons. it is not as complex as Sources, but it saves time from hunting down and cloning an existing JS/template and removing the bits you don't need. Languages: This tab shows you all the defined language strings for your app, in both jslang and lang.php. this allows you to add/remove/alter while on the tab. Features:
Extension Generator: instead of just generating a blank skeleton for extensions, this feature aims to provide a working out of the box extensions. this feature atm only supports FileStorage, ContentRouter and CreateMenu. Adding/Removing Column in Versioning: this feature will allow to easily add in a query to add/remove columns for versions. Extension:
Dev Center Plus has an extension called "Headerdoc". it is a bit misleading name, but it gives you the ability to do several useful things when building an app.
Enabled() (bool) : if this is set to true, it will add the classes "doc block" to the file if it doesn't already exist, and if it does, it will only alter it for the files include in the tar (so the file wont be marked as changed by your repo software if you use it).
IndexEnabled() (bool): if this is set to true, it will add a blank index.html to all the folders and subfolders in your application. to prevent viewing of the directory contents on servers that do not have the directory listing turned off.
fileSkip() (array): allows you to add a list of files to skip during the build process of the tar. there is also a "global" skip list in the settings of DT Base for this.
dirSkip(array): allow you to skip entire folds during the build process of the tar. there is also a "global" dir skip list in the settings of DT Base.
exclude() (array) : allows you add a file or folder here to skip having a "header doc" added to it. useful if you use third party libraries. will automatically exclude the following directories and files: 'hooks', 'dev', 'data', '3rdparty', '3rd_party', 'vendor', '.git' and '.idea'.
DT Dev Folder:
ever misplaced thos pesky dev folders for your app or don't feel like alter table entries to rebuild your "plugin" dev folder manually, or simply doing work for a client and having a conflict with another app/plugin but can't debug it in in_dev due to missing dev folders, well look no further Dev Folder is the app for you. this will generate dev folders for both apps and plugins (will also allow you to install plugins while in_dev is enabled). if you have the app installed and enabled, it will automagically add the dev folders if they don't already exists .
I'm not sure where i will be going with this application exactly, right now it will search thru your code looking for lang keys and settings, it will check and verify they are both in use and defined. it can return false positives as these might not always be "defined" in a way it can read it, but can give you the ability to see which language strings are in use and get rid of the "dead" ones and same with settings. if you have any suggestions for things you would want to check in your code, let me know and i will see about implementing this feature.
Creates "dummy" content for testing purposes.
members - generates random members. can select to add members randomly to a random group. forums - generates forums. topics - generates topics. will create between 1 to 30 replies per topic created. posts - randomly adds replies to topic. clubs - creates clubs with random owners and various "types" *note: unlike the "storm" version, when forums are generated they will not create topics (there was a bit of problems with this in storm, so you should create forums first, then create the topics).
Replaces the IPS "query log" with a more compreshensive "profiler'. to enable you must have the define('QUERY_LOG', true) in your constants.php (if you want the cache log as well, you will need to have define('CACHING_LOG', true); as well).
Execution: will display the total time a page took to process from start to finish (this isn't the load time, so don't confuse the two :)). if you click on this tab, it will display how long the framework took and the profiler to execute, so you can rule out the profiler for slowdowns). memory used: The memory used by the page when it was being executed. This feature can be expanded upon by using the Memory class in Profiler. Included Files: shows how many files are included on the page, and if you click on it will show the a list of these files.* Query Log: displays the queries being executed for the page, along with their execution time and memory load. Caching Log: displayes the stores and caches being set or got during execution. Templates: a list of all the templates in use. * CSS: a list of all the CSS files loaded.* JS: a list of all the JS files loaded.* JSVars: a list of the JS Vars defined for use. Logs: shows the most recent logs that were generated (the amount it shows can be changed in the DT Base settings). Debug: if you use the Debug class, you can add debug statements inside your app's methods. this feature uses a long polling script to query the DB for new log entries and adds them here if they are found (useful for debuging Ajax request). if you use DT Dev Center Plus, you can add a permanent Profiler/Debug class to your app, this way you can add the \IPS\myapp\Profiler\Debug::add('key', 'message') to your methods and leave them there safely for future use (as the Profiler\Debug added by Dev Center Plus will create a class that uses __callStatic and checks to see if the parent class exists, other wise it will just be ignored) InfoBar: Gives basic information about the environment, IPS version, PHP version, and Contoller being executed, along with the Method and line number that method begins on.* *: if you have define('DEV_WHOOPS_EDITOR', 'phpstorm'); (or a supported editors) in your constants.php, it will generate a link that will open the file in editor if you have the phpstorm/supported editor protocol configured ( how to's for phpstorm (how to do this in windows) (how to in linux) (how to on mac not sure how well it works as i don't have a mac ? ) );
This is a command line application, that you can use to add backslashes to php internal functions and constants. This has been shown to improve performance on php 7+, due to opcode enhancements. this will also improved execution times as php doesn't have to look in the local space and then globalspace for defined functions. instructions in install.txt.
This app doesn't do much on its own. it mainly exist as a "core" app, to share useful features and code among the rest of Dev Toolbox (so we aren't spending a great deal of time reinventing the wheel for common features). It also contains the Settings and DevBar menu. This app is REQUIRED to run any of the other apps, as they heavily depend on its libraries to function correctly.
There are a ton of features and abilities i'm probably forgetting to mention here, so why don't you try it yourself, it is free after all. Hope everyone enjoys this! send me any bugs or feedback to my PM's. i wont be supporting this application in my app topic. thanks to everyone who has made this app possible!
License Note: The Dev Toolbox, where applicable, is released under the 2-Clause BSD License
sudo reacted to TAMAN for a file, Advanced Footer
Advanced footer allows you to add a footer to your site with as many blocks as you want, including feeds from Forums, Gallery, Downloads, Pages, Facebook page feed, Twitter timeline feed, Adding members block, Custom Editor/HTML blocks and more.
Beautiful and clean design it is fully responsive and perfectly suits your theme due to its highly customizable options, it is entirely customizable, resizable, and reorderable.
Custom blocks. Custom HTML/Editor blocks. Member blocks. Quick Links. Social blocks ( Facebook page feed, Twitter timeline feed, Social links )
Feed from IPS applications. ( New ) Forums. Gallery. Downloads. Pages.
Create columns and optionally show it to specific themes, you can also set a custom column background color. ( New ) Create blocks and optionally set a specific width or a custom background color. ( New ) Resizable and reorderable Columns/blocks. Custom color options. / or Match colors to your theme.
Creating footer rows
sudo reacted to HeadStand for a file, Newsletters
Allows the Administrator to create, edit and manage custom newsletters and their content. Forms of content such as Latest Topics or Latest Blog Entries can automatically be distributed without the Administrator having to do more than set-up the newsletter and let it run.
Administrator can create custom titles and content for newsletters to be distributed Administrator can set automatic intervals for newsletter distribution (Daily, Weekly, Monthly, Anually), or a manual customized distribution date. Allows Administrator to set which groups of people will receive newsletter (Members, Administrators, Moderators, etc.) OR an opt-in newsletter Allows Administrator to create multiple pending issues of newsletter Administrator has ability to view all back issues of newsletter Allows for multiple content types based on the IPS components installed in the current environment Newsletters can be distributed in plain-text or HTML format Members can subscribe/unscribe to any available newsletters at any time Members can decide which format (plain-text or HTML) they would like to receive Administrators can customize the HTML layout and CSS for each Newsletter Web view of all newsletter issues Customizable content for each block for each newsletter Club Newsletters Custom advertising locations
sudo reacted to opentype for a file, Pages SuperHelp
Pages SuperHelp is a set of Pages templates for help/FAQ sections, tutorials, online courses and similar content.
Pages application A Pages databases that uses several levels of categories. Benefits of SuperHelp:
The Pages stock templates are limited to show only one level at a time: One level of categories; one level of record links in one category; one full record. SuperHelp is based on an older version of IPS’ Help Guide Section and can show much more information and make browsing your database much easier. The template set has a beautiful and clean look and is of course fully responsive. It adopts to almost all IPS sites and the included settings plugin lets you edit the template appearance without any HTML knowledge.
What is included:
A Frontpage category listing template which shows main and sub categories. A Listing template which shows sub categories, records in sub-categories and records in the current category. A Record View template with a sidebar, which shows other records in the same category. A Plugin which lets you change the settings of the templates easily. An installation PDF with detailed instructions and tips to set up your SuperHelp database. Note: You can use the templates for any number of databases, but the settings will always apply to all SuperHelp templates. The main level can use category images using the IPS Pages Category Image plugin by All Astronauts Plugin Settings:
Show category follow button: Yes/No Show record images in listing view: Yes/No Show record image in record view: Yes/No Number of lines after which the preview text gets cut off Number of records to show in a sub-category list Type of icon to use for help steps: Automatic numbering or user-defined FontAwesome pictogram Text alignment for title/description on frontpage Text alignment for title/description on listing page Text alignment for category title/description on frontpage
sudo reacted to CodingJungle for a file, [BNS] Name 2 Avatars
Black November Sale, 20% discount! original price $15 now $12
Name 2 Avatars is a community-driven idea that started with a simple thought by a fellow IPS client: generate unique and colorful profile photos for members who don't upload a photo. You've seen this idea popularized on many other websites, and now it's available here for IPS 4! Download now and start customizing your membership with Name 2 Avatars.
Name 2 Avatars will generate a unique profile photo for every member in your IPS community who does not upload a photo. The colors and text will be based upon the member's name and covers all kinds of names including digits, single names, and dual names. Those profile photos are centrally stored in your website's n2a storage folder, and will be used anytime a member who doesn't have a photo registers on your website. The new profile photo will display everywhere, including the Profile, Forum Postbit, Sidebar Blocks, Activity Streams, and more. The application contains multiple settings for you to customize the avatars exactly the way you want with options to change colors, gradients, font, and shadow.
Are you looking to give a unique and colorful profile to every member to personalize member identity? Are you looking to replace the default gray avatar with colorful ones that separate your community from the default? Are you looking to add a bright splash of color to your memberlist to stylize your community's theme? Are you looking to create unique category and topic icons for forums, clubs and downloads to make them more recognizable? Make your community more welcoming, encourage member engagement, and personalize member identity across your IPS community with the colorful Name 2 Avatars!
All settings are located in ACP > Customization > Names 2 Avatars settings. Check out the comprehensive list of features to design and colorize the avatars exactly the way you want:
Designer Mode - The application features a powerful Designer Mode, which pauses the front-end display of avatars while you change the settings in the ACP. This allows you to modify and change settings to your heart's content and preview the avatars to your liking before publishing your avatars. Download Icons - If you have download files with no screenshots, you can use Name 2 Avatars to generate a custom icon per file to display in the What's New, Highest Rated, and Most Downloaded blocks on the downloads index page. Please note this will not generate a screenshot on the file image details page. Club Profile Icons - can generate profile icons for clubs Forum Icons - If you have forums with no customized icons, replace the standard IPS icons with customized icons to display on the forum index page. 3 avatar modes to choose from (letters: which will produce a letter avatar, cats: a uniquely generated cat image based on username, abstract/monster: will generate a unique "abstract" image from user name. NOTE: this setting only applies to member avatars and not to downloads/forum icons). Font Color - Choose your own color for the text that appears on the avatar Text Shadow and Color - Enable and choose your own color for the shadow on the text Font Size - Choose your own font size to increase or decrease the text size Color Generation - Select your own colors per letter Gradients - Enable gradients for a multi-hued background Dual Letters - Enable dual letters for names Unique Backgrounds - Let every member have their own unique avatar Font Type - Upload your own font X and Y Offset - Center or offset the text Text Angle - Rotate or set your text at an angle User Generated Avatars - group setting allows you to give member groups the ability to generate their own avatar using n2a scripts. allows them to design their own letter/cat/monster icon, with various settings. ADVANCED FEATURES
Geek out with other cool features that happen behind-the-scenes:
Unique Like No Other - Ever member in your community is unique and their avatars should express that distinctiveness. When Unique Backgrounds are enabled, the code will parse the name of the user spelled backwards to generate a truly one-of-a-kind color. That means users with similar names like Micah, Michael, Michaelangelo, and Mickey Mouse will generate wildly different colors! Opposites Attract - When enabling gradients, the application will automatically use the color's accent (opposing color) to generate a multi-hued background that stretches across the entire color palette. HOW TO INSTALL
Please install like any other application.
Navigate to ACP > System > Site Features - Applications. Click on "Install" Select the TAR file and install. **description provided by @Joel R
sudo reacted to Kevin Carwile for a file, Advanced Path Aliases - FULL
Synopsis Advanced path aliases is an application that allows you to change or create url paths to point to any page on your site. It enhances the capabilities of the core IPS furl definitions in the following ways:
Set any interior page of your site as the homepage Maintain multiple custom path aliases for any individual page Set a path alias as canonical to be used as the primary url for a page Create path aliases to 301 redirect old urls to new locations Create path aliases to redirect to external web pages Set the http protocol to be used explicitly for any page Automatically redirect old urls when new urls are created for a page Automate the creation of url paths using Rules.
sudo reacted to DawPi for a file, (DP41) Collapsed Stream
This plugin switches the system-wide default view for a stream from Expanded to Compact. It does not interfere with the normal functioning of streams, and users can still choose their own preferred view on a per-browser basis.
Development of this plugin was supported by the eGullet Society for Culinary Arts & Letters.
sudo reacted to Flitterkill for a file, Birthday in Registration Screen
This plugin will allow new users to fill in their birth date during the registration process.
Require birth date on registration screen? Require full birth date? If enabled, MONTH, DAY and YEAR will be required. If disabled, only MONTH and DAY are required. The form element inserts after the Confirm Password field.