Jump to content

Marketplace

Developer Resources

14 files

  1. Free

    (itzrest) Rest API extension

    Attention: since version 4.1.0 the custom API has been removed completely. This extension only adds the following additional endpoints / functions:
    New endpoint POST /api/forums/posts/{id}/react to react to a post New endpoint DELETE /api/forums/posts/{id}/react to remove a reaction from a post All returned Post objects (i.e /api/forums/posts) provide new fields reactionCount and reactions - so you can see who reacted to a post New endpoint /api/itzrest/forums to get a list of forums in a better way (with children) New endpoint /api/itzrest/forums/{id} to display a single forum New endpoints for profile statuses (only for current authenticated member) New endpoints to get staff New endpoints to get available reactions (you can use the ID number of a reaction to react to a post) New endpoint to react to status updates New endpoint to remove a reaction from a status update

    110 downloads

       (0 reviews)

    Updated

  2. Free

    Empty Logs

    This simple plugin add a button on system logs to help clean all log entries with a click.

    31 downloads

       (0 reviews)

    Updated

  3. Free

    Self Destructing Notes

    This is a simple app, that allows you to create a note that will self destruct after viewing by another person/user. 
    create a note, it copies a link to your clipboard, send link to another party, note will destroy itself after they view it.
    if you find this application useful, please considering donating to:
    https://www.paypal.me/codingjungle
    any amount will help keep this app free and up to date.

    27 downloads

       (0 reviews)

    Updated

  4. Free

    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.
    It is a direct continuation of the previous Power Tools command line script, and is still in its early alpha stages with limited functionality.
    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.
    Installation
    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.
    Features
    As noted above, this is an early alpha project and has limited functionality.
    Interactive console

    IDH integrates IPS with PsySh via the console command, allowing you to quickly test and run IPS code directly from the command line.
    Application management
    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.
    Proxy classes
    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!
    Support
    Clear IPS cache and data store remotely Remotely backup/dump your development servers database Run MD5 checks to find modified core files
    Future features
    There are various additional features planned for this application, but I do not have any timelines or guarantees on when they will be implemented.
    Some of these features include:
    Acceptance test helpers Class generators Setting page generators

    25 downloads

       (0 reviews)

    Updated

  5. Free

    Update Checks

    This is a simple application I made because I thought it was long to keep going onto my server to change the update check php files each time I update a app or plugin
    How to use
    Simply upload the .tar file and wait for install Navigate to this apps menu in the ACP and click files Click to create new and enter all the details about the application Files Name Files Version Files Long Version Files Update URL Files Release Date If you have downloads installed and files uploaded you can choose to use that file to bring the name and update url automatically by selecting that file from the list, if you don't have downloads installed and files uploaded then you would enter the data manually
    Each one has a little button on the table what will bring up the update url you will add to your app or plugin
    NOTE... Unless you are a developer who makes apps / plugins / themes this app will be no use to you it is only intended to be used by developers for easy access to edit their files update checks

    23 downloads

       (0 reviews)

    Updated

  6. Free

    VarDumper

    Var Dumper
    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.
    Installation
    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.

    20 downloads

       (0 reviews)

    Submitted

  7. Free

    Power Tools

    Power Tools
    Introduction
    Power Tools is a third party command line utility for Invision Power Suite developers. It aims to aid in development by packaging several useful command line script and applications together in one easy to use application.
    ☕ Found this useful? Want to support further development? Show your support by buying me a coffee!
    - https://ko-fi.com/makoto_dev
    Installation
    If you are on Linux, there is an optional executable included in the release package which you can extract and copy to /usr/local/bin for convenience.
    Otherwise, just extract the included ptools.phar file to the directory of your IPS installation. Then, from your terminal window, navigate to the applications directory and run ptools.phar as you would any other PHP script from the command line,
    $ php ptools.phar Power Tools version 1.0.1 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug Available commands: classmap Generate a map of error codes for classes in an IPS application help Displays help for a command list Lists commands tinker Launches an interactive shell interpreter for an IPS installation generate generate:activerecord Generates an Active Record boilerplate class generate:content-comment Generates a Content Comment boilerplate class generate:content-item Generates a Content Item boilerplate class generate:content-node Generates a Content Node boilerplate class proxy proxy:regen (Re)generates all proxy classes for the application Features
    Tinker
    Tinker is one of Power Tools most.. well, powerful features! The name tinker was inspired by Laravel's own "tinker" command, and it essentially operates in the same manner.
    Both are powered by PsySH, an application that provides an extremely powerful PHP REPL for your applications.
    Stop making your life difficult by executing arbitrary code in random modules for testing, or worse yet, actually trying to use the native PHP CLI interpreter.
    Need to test if your Item class is working correctly? Just pop into the REPL and give it a whirl!
    Everything in the tinker shell essentially works as your application does when run through the web browser. You can even get documentation on class methods right from within the interpreter,

    PsySh is a truly awesome tool. To learn more about it and all the features it offers you, check it out on PsySh.org.
    Proxy Classes
    Due to IPS 4.x's monkey-patching based framework, several useful features of your IDE will be rendered non-functional (suggestions, code completion, etc). This command generates proxy classes for your your IDE (including support for 3rd-party applications), so it will be able to properly reference IPS' classes regardless of monkey-patching.

    The proxy class generator can even automagically generate property mappings to all your database columns!

    Class Generators
    Power Tools comes with several powerful and fully featured class generators for IPS Nodes, Items, Comments and generic Active Record classes. These generators take care of all the necessary boilerplate for you automatically.
    For example, generating a new Content Item class is as simple as running a single command and following the on-screen input prompts:
    <?php namespace IPS\induction\Test; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER[ 'SERVER_PROTOCOL' ] ) ? $_SERVER[ 'SERVER_PROTOCOL' ] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } class _Item extends \IPS\Content\Item { /** * @brief Application */ public static $application = 'induction'; /** * @brief Module */ public static $module = 'induction'; /** * @brief Database Table */ public static $databaseTable = 'induction_items'; /** * @brief Database Prefix */ public static $databasePrefix = ''; /** * @brief Multiton Store */ protected static $multitons; /** * @brief [ActiveRecord] ID Database Column */ public static $databaseColumnId = 'id'; /** * @brief Default Values */ protected static $defaultValues = NULL; /** * @brief Node Class */ public static $containerNodeClass = NULL; /** * @brief Comment Class */ public static $commentClass = NULL; /** * @brief Review Class */ public static $reviewClass = NULL; /** * @brief Database Column Map */ public static $databaseColumnMap = array( 'container' => 'category_id', 'author' => 'author_id', 'views' => 'views', 'title' => 'title', 'content' => 'content', 'num_comments' => 'num_comments', 'last_comment' => 'last_comment', 'last_comment_by' => 'last_comment_by', 'last_comment_name' => 'last_comment_name', 'last_review' => 'last_review', 'date' => 'date', 'updated' => 'updated', 'approved' => 'approved', 'approved_by' => 'approved_by', 'approved_date' => 'approved_date', 'pinned' => 'pinned', 'featured' => 'featured', 'locked' => 'locked', 'ip_address' => 'ipaddress' ); /** * @brief Title */ public static $title = NULL; /** * @brief Icon */ public static $icon = 'file'; /** * @brief [Content] Key for hide reasons */ public static $hideLogKey = NULL; /** * @brief Form Lang Prefix */ public static $formLangPrefix = 'induction_'; /** * @brief Reputation Type */ public static $reputationType = 'id'; } Class Mapping
    The classmap command maps unique ID numbers to your applications class files. These ID numbers are then stored and maintained for use in error codes.
    By maintaining and actively using a proper error code scheme, you can easily and transparently map the location of errors that are triggered in production.

     
    This application is available under the Mozilla Public License 2.0. I welcome developers to extend and enhance this tool as they wish, but please make sure you understand the licensing requirements before doing so.

    22 downloads

       (0 reviews)

    Updated

  8. Free

    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 their intended use are on 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 2: if you are using version 1.4.0 and before, please uninstall all the apps before installing 2.0.0. version 2.0.0 changes a lot as i have combined all the previous apps into one. 
    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.
    https://paypal.me/codingjungle
    if you would like to access the git repo:
    https://github.com/codingjungle/toolbox
    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. 
    Note 3: 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.)
    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):
    DT Proxy:
    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 Improvements:
    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.
    Tabs:
    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 .
    DT Code:
    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.
    DT Content:
    Creates "dummy" content for testing purposes.
    Generators:
    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).
    DT Profiler:
    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).
    Tabs:
    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 ?  ) );
    Slasher.php
    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.
     
    DT Base:
    This app doesn't do much on its own. it mainly exist as a "core" app, to share usefule 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 abilitis 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

    393 downloads

       (5 reviews)

    Updated

  9. Free

    (DP42) Export Lang per App

    With this simple plugin you can download separate translations per app

    101 downloads

       (2 reviews)

    Updated

  10. Free

    Fake Content Generator

    Important Note: This application is intended for use by developers only. Please do not install this application on a production server.
    Faker provides developers and theme designers with a means of quickly and easily generating fake (boilerplate) content on their development installations.
    This application is currently in pre-release status. It is currently limited generating member accounts and forum topics at the moment, but I plan on offering a means of easily extending the application so that it can be used to generate boilerplate content on custom third party applications in the future.
    Git repository:
    https://dev.taiga.sh/makoto/IPS-Faker

    269 downloads

       (4 reviews)

    Updated

  11. Free

    Toggle Developers Mode On/Off

    1. Does there exist in the world a better gif to use as a primary screenshot?
    No.
    2. If you install this on a live site to toggle dev mode on and off you ain't real smarts. If I've done my url check right, this cannot be used on live sites. 
    3. CIC user? Why are you here? You can't run developers mode on CIC. Also, I check for CIC installation and then stop you from doing something stupid like using this.
    4. You must already have a constants.php file; this won't make one for you.
    5. This constants file should have the define( 'IN_DEV', TRUE ); line already in there. True or false; either one. 
    6. If you don't have a constants.php file and try to turn dev mode on/off the plugin will insult you, or just tell you it can't be found. 
    7. Another good thing to have is a dev folder. I check for that. Just the folder. If you want to enable developers mode with an empty dev folder that's up to you.
    8. This grabs the constants.php content, case insensitive regex for the in_dev true or false, switches yonder true/false, then redirects. You can choose between the Application page or the Plugin page for the redirect in settings.
    9. I'm targeting single quotes for 'IN_DEV', so don't use "IN_DEV" in your constants.php. Yes I could deal with that. I could...
    10. The toggle you seek is on your ACP usermenu.

    11. Can't stand the flask icon? Change them up in settings.
    12.dmt_on and dmt_off are the language bits you want if the existing words are not to your tastes.
    13. 4.3 and later users of this can now format the warning square and screen edge line that we got with the 4.3 series. Don't want construction yellow and candy stripe edge line? I got ya.
    4.2.x should use 1.1, 4.3.x can use 1.1 or later versions.

    135 downloads

       (1 review)

    Updated

  12. Free

    Build App from Dev Center

    This plugin will help you not to waste your time everytime you need to build your app to test it on public side. Currently you can do this by going to main Applications page and selecting Build from the app menu.

    146 downloads

       (0 reviews)

    Updated

  13. $2.00

    Advanced WebSite System

    Hello everyone!
    This application allows you to create a website by IP Board 4!
    The operation is simple, everything is based on the IP Board 4 pages system.
    You must create a .html page from your Admin CP, and then, by Admin CP, you must create a database on which to apply your own categories. I suggest you put on the home page of the latest news, instead of categories, so that the graph change is known more!
    Then apply Template uploading your Admin CP.
    All the specifications in the ReadMe.txt that report below.
    I repeat, you will find the directions in ReadMe.txt file.
     
    I accept suggestions and constructive criticism, this is the first version, is not complete, slowly with upgrades will improve. If you have ideas for what to improve, write it in the comments to let me know
     
    Here is the site applied to my forum. I do not provide support, it is my personal forum, it is just to let you see how it works.
    If you need support, please contact me by MP, thank you. You can also write in the comments, in case.

    2 purchases   7 downloads

       (1 review)

    Updated

  14. Free

    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 ?

    27 downloads

       (0 reviews)

    Updated


×
×
  • Create New...