Jump to content

Michael

Administrators
  • Content Count

    2,384
  • Joined

  • Last visited

  • Days Won

    3

Files posted by Michael

  1. $35.00

    CJ Duplicate Member Logger

    CJ Duplicate Member Logger
    Logs members who use multiple accounts on the same computer/browser to access your site. 
    Features:
    Logs member accounts and possible alts Automatic responses (like PM/AutoBans) ACP/MCP interfaces to view and handle infringers (allows you to ban alts/main account, email, delete alts) Exclude Goups/Members (Exclude groups and Members from being logged) Exclude Members Notes (leave a note about why a member is excluded) NOTE: Requires min php 5.4 and IPS 4.1.4 (due to the use of traits)

    26 downloads

       (0 reviews)

    15 comments

    Updated

  2. $40.00

    Downloads Plus

    GENERAL DESCRIPTION
    DownloadsPlus takes the default IP.Downloads and propels it to the max!  With a slew of new features, additions, and enhancements, it transforms your Downloads application into a one-stop shop for informational details, client support, and customer service.  DownloadsPlus provides awesome new features that expand your Downloads application.  No more support tickets in IP.Commerce.  No more questions and topics in IP.Board.  No more bugs in a custom tracker in IP.Pages.  No more searching for questions, problems, and tickets in multiple areas.  DownloadsPlus bring all of these resources together into a single spot directly accessible in IP.Downloads, which allows you to efficiently and intelligently manage all of your files directly from the file itself!   Buy the new DownloadsPlus application and supercharge your Downloads app!  
    Do you want to empower your members to ask questions and receive detailed answers from other users before buying a file?   Do you want to provide better service by building a support system into the file manager?   Do you want a clean layout that packs all of these enhancements plus the default IP.Downloads information into a tighter space for mobile efficiency?   DownloadsPlus is designed for communities with an extensive file system that sell or distribute files and want to find a smarter, faster, and more efficient method to support users! 
    FEATURES
    DownloadsPlus contains multiple new features in both the ACP and front-end.  Some of its major new features include:
    Support System - Build a support ecosystem around each file, which makes it simpler and easier to provide immediate assistance to users.  The support system contains advanced features such as auto-resolve, status updates, and private / public tickets. Q&A System - Build a question and answer system dedicated to each file, so members can ask questions before buying.  Other users can answer the question or identify that they have the same question too.  Admins can always control the answers (if incorrect or misleading) by deleting answers.   Tutorials - Build tutorials for each file. New Features in the Downloads ACP setting:
    Auto-Resolve Time Status Update settings Enable Stores Limits for "Author's Other Files" Dplus Mailer Features added to each download's category ACP setting:
    Enable Questions Question Permissions Only owners can answer questions Enable Support Require purchase before supporting  Support Permissions Tab order Enable Tutorials Features added to each file's front-end:
    Details on its own tab Changelog on its tab Q&A is a new tab Notifications when answered Multiple answers "I have this question too" by other users Remove question / remove answer  Support is a new tab Create new support report "Click and hold" to edit support title Version requirement on support tickets Follow and Notification preferences  Public or Private tickets Filters to show only tickets you desire Tutorials File Author can create Tutorials for their file Reviews on its own tab visual stats Comments on its own tab Author's Other File (shows a carousel of author's other files). All of these features natively integrate with your existing permissions, so it works seamlessly with your IP.Downloads.
    ADVANCED FEATURES
    Geek out with other cool features in DownloadsPlus:
    Auto Resolve - An advanced feature of the Support system.  Auto-Resolve is a setting to automatically close a ticket in X days if no response.  For example, if you have a support ticket where the last response is from the downloader and X days have transpired, the ticket is automatically marked as "Closed."  If you have a support ticket where the last response is from the uploader and X days have transpired, the ticket is automatically marked as "No Response."   Statuses - An advanced feature of the Support system.  Statuses can be customized to provide a built-in tracker for issues.   HOW TO INSTALL
    Please install or update like any other application.  
    Navigate to ACP > System > Site Features - Applications.   Click on "Install" Select the TAR file and install.   REQUIREMENTS
    This file requires IP.Core and IP.Downloads.
    PHP 7.0+

    51 downloads

       (0 reviews)

    0 comments

    Updated

  3. $50.00

    Keyword Tooltip

    Allows you to define certain key words or phrases which, when used in any of the enable/supported applications, can be hover/clicked over to get a popup with more information which you have defined. This popup can contain whatever content you like, such as term definitions.
    Features:
    Any application that uses the content item class (all of IPS applications work) Group Settings to add/delete/hide/edit/change/use html author. Use HTML and BBC in descriptions. Keywords to URL (use a URL instead of a popup). Profile Tab to show contributed keywords. Shows up in activity stream. Keyword lists with filtering. Keyword Statistics Rules App integration (by kevin carwile) Note: works only with IPS 4.1 (if installed on 4.0, the front navigation will error out). PHP 5.4 minimum (using specific things found in php 5.4+).

    35 downloads

       (2 reviews)

    1 comment

    Updated

  4. $25.00

    Menu Groups Manager

    Menu Groups Manager, is a spiritual successor to CJ Menu. This menu manager offers a wide range of abilities and features, not found in the default IPS menu manager. You will have the ability to create unlimited groups, use them in a widget, hooks or in one of the 5 predefined locations.
    Note: if you are a CJ Menu owner and purchased from here, you can claim for a limited time a free copy of MGM (go to Store->manage orders, find CJ Menu, and click on manage, there will be a button for upgrade and you can claim MGM from there). if you purchased it from the IPS marketplace and wish to upgrade, please contact me there.
    Features:
    Multiple menu groups Several menu types to choose from (drawer, URL, applications, wrapper and magic block) multi-tiered sub menus two sub menus types: traditonal and mega On IPS applications that support Categories (like forums and downloads) have the ability to attach these Categories as sub menus. (this feature can be extended to third parties apps thru MGM's extension, several 3rd parties apps already support, Babble, Downloads Plus out of the box). Optional replacement of IPS default menu*. custom permissions or use application permissions. custom icons or use of font awesome icons for menus. Magic Blocks: allows you to create customized submenus, allows use of HTML/IPS Template logic/PHP/Javascript/etc. the only real limit is the imagination going into it. minimal style: the style is made to look acceptable on the IPS default them, but the styling is kept to minimal for easier styling into any theme. * MGM will attempt to remove the IPS default menu navigation, this isn't always a guarantee due to difference in theme design, as long as the them is similar to the default theme in the menu area, this feature should work, refunds will not be issued based on this reason alone, if the theme is incompatible with this feature. I do offer additional paid support for this, please inquire in PM if you desire this. limited theme support is available (as i am not a themer, i can help to the best of my ability).

    56 downloads

       (0 reviews)

    1 comment

    Updated

  5. $30.00

    Media

    Media is the spiritual successor to CJ Media System, this app allows you to create media items from popular video/audio services and allows video/audio upload and playback. 
    Features:
    Categories with permissions Services: youtube, dailymotion, soundcloud, vimeo Supports the pulling in of Youtube Channels and Playlist via task, configurable per category. Supported Video Formats: mp4/webM/ogg (this is browser/OS dependent) Supported Audio Formats: mp3/ogg (this is browser/OS dependent) IPS Tag system (if it is capturing url's from content items and the service supports tags, it will grab the tags from the service and use them. this feature can be disabled) Cover Photos. (Video/Audio can have a cover photo, also the supported services that support the player ( youtube, vimeo, soundcloud) ) Downloads of audio/video files (this is configured per category and you can limit it to groups) Comments Related Media on media view (this uses the tag system, if it can't find any matches, defaults to search via title name) Most of the core IPS features (ratings, likes, follow, category permissions, group permissions,sharing,etc) Featured Carousel  Latest Media widget If services are configured with their API's enabled, Will captured supported services URL's and created media items from content items ( IPS applications supported*) Limit which apps you capture services url's from, then which category (for the apps that support categories) Twitter Card: Summary. each media item will configure a twitter card for sharing Expandable API to allow more media services to be added

    14 downloads

       (1 review)

    0 comments

    Updated

  6. Free

    The Dev Toolbox

    Note: Version 1.1.0+ of Dev Toolbox will require PHP 7.0 (minimum) to operate, as several of the libraries it uses were written for 7.0 and this has prompted us to update the app with php 7.0 features as well. This version was also designed with IPS 4.3 in mind, so it might not fully work in IPS 4.2.8 and below.
    The Dev Toolbox is  a group of applications, designed with making working with IPS easier, and to reduce overall production time. There are a total of 6 apps (well a total of 7, but the 7th one is required to be installed with any of the others, as it contains data and code the rest of the apps use to function). 
    These applications are 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://bitbucket.org/CodingJungle/devtools
    there will be two branches, master and develop. master will be what is found here in the download and develop will be any fixes, features, etc, that are in the works, so it might not be ready for general use. if you want access to be able to push, send me a PM with your bitbucket name/email and i will consider adding you.
    Here is a list of the apps and what they do (how they can benefit you).
    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

    0 downloads

       (0 reviews)

    0 comments

    Submitted

  7. From $65.00

    Babble Chat Service

    Request a on site trial:
    You can request a trial for your site. please contact me here.
    Please in the PM include what site you will be using it on and on average how many users will be using it at any given time. the demo is full featured, but it will expire 10 days after the key is issued. this is only good for one site and you can only request 1 demo, so if you request it and don't use it in the allotted time, i will not extend the trial.
    After Purchase:
    After purchase, go to Store->Purchases, you will need the license key and your email address that was used when purchased. After installing babble and activating the license, it can take up to 2 hours before use.
    Babble is a real time chat system using node.js and sockets. It uses less resources and doesn’t rely on long polling or interval scripts to check for new message. Babble is fully featured with those features laid out below. The application will come with the first 3/6/12 month(s) (depending on package purchased) of service.
    Requirements:
    requires IPS 4.2 as it uses clubs. 
    A modern browser that supports web sockets. (Firefox/IE11/Edge/Chrome/Safari supports websockets. For mobile browsers, I will only be supporting Safari and Chrome). Babble and the chat service will require a purchase per site and a bi-yearly renewal agreement.
    If you purchase a copyright removal, Babble will occasional make a call home to http://codingjungle.com to validate the copyright removal key. Copyright Removal keys will need to be purchased for each purchase of babble if you wish to run it on multiple sites without branding.
    Features:
    Rooms: Babble comes with two default rooms that can not be removed. The “Babble” room is used by default for Babble, and the Widget Room is used by the “Widget” (the widget can be configured to use the default room).  Each room has permissions that can be set like “View, Message, Whisper, Edit, Delete, Upload, and Archives”. Each room also has the ability to be configured independently of each other on uploads (what types and sizes), how many messages to show by default, rules to show before entering the room. Rooms can also have 3 bots they can configure (more on bots later). Rooms can be password protected. Uploads: Each room can be configured to allow uploads.  If the upload is an image, the image will be “lazy loaded” and resized to fit the dimensions of the message area better. If it is a non-image upload, it will display a link to download. NOTE: Groups who can see the room, can also download and view images. Sounds: Babble comes with a collection of sounds for send, receive, entering, leaving and whispers. Users can enable or disable each sound as they see fit. The sound files can be replaced at any time in the ACP by pointing to the corresponding sound setting to the new location (this is to avoid future updates from overwriting your sound files). NOTE: due to some limitations in mobile OS’s (iOS and android) even if the sounds are enabled by the user, there is one additional step they must take to hear sounds on the effected OS’s. On mobile devices a Speaker Icon will appear, that will need to be activated to be able to hear sounds, this action must be done each page refresh. Whispers: Whispers are private messages that are sent in between users. They will open in a “tab” in the room and will flash when a new message is received if you aren’t currently active on the tab that is. Whispers only work inside the room, you currently can not “whisper” to some one who is not logged into the room you are in (at a later date this might change). Browser Notifications: A user can set how many new messages they receive in a room before a browser notification is triggered (or they can disable them all together). Currently these do not work on mobile OS’s, in the future I plan on adding notifications for iOS and Android. New Message Order: By default babble will order messages newest to oldest, for some users this might not be ideal, so they can reverse the order to oldest to newest. Any new message after this will honor the setting. Group Content: You can set a min. content count per room for each user group before they can send messages. You can use this feature as a reward to your members for participation on your site. Note: Messages made in babble will not increment content counts.  Command Aliasing: you can set any number of aliases to existing/custom commands, this will help if you want to "localize" the commands. Stats - if stats are enabled for a room, you can keep track of basic stats like how many messages have been made in a room, the most online ever in a room, the current day's tally of how many have been in a room, and the top 5 users who make messages in a room. Archive - if enabled, a user can select to load messages previous made in the room. this is a group permission. BOTS:
    Babble comes with 4 bots, each serve a different function and are triggered in different ways.  3 of the bots can be configured per room, where the 4th bot can be configured to which rooms it sends messages too, as most of its settings are “global”. Hopefully Babble Bots can help you accomplish some pretty amazing things and enrich your users experience with babble.  Time Bot: the time bot can be configured per room*. This bot can be configured to send different messages at different times**.  You can use HTML/BBC in the bots messages. This bot runs from a task, so its HIGHLY recommend that you have your task configured to run as a cron job to see the best results. If not configured to a cron, this bot might not function properly. * you can configure this bot to store its messages in the database or not. Due to a technical limitation with node.js the bot is unable to check to see if there are any users in the room or not, so instead of having the chat history filled with messages from the time bot, they will “go away” on a page refresh. ** this is in minutes passed since the bot was configured, if you set a message to send every 10 minutes, then the first message will be sent 10 minutes after you configured the bot, and each additional message will be sent 10 minutes after this. Count Bot: This bot can be configured per room. You can configure this bot to send messages after x amount of messages sent by users*. You can also send different messages x amount of messages sent. You can use HTML/BBC and special variables(1) in your messages.  * this does not include whispers sent or messages from other bots. Phrase Bot: This bot can be configured per room. You can configure this bot to send messages when a match to a word/phrase is made. You can have multiple matches for the same message or multiple messages for different matches. You can use HTML/BBC and specials variables(1) in the messages. Notifications: This is the bot that has a global configuration. This bot will send messages out when new content is posted to the supported applications*.  Permissions are honored on these notifications, so if the user doesn’t have access to to view the area in question, they wont see the notification.  This bot can only be configured to tell it which rooms to run in, the rest of its settings are global due to its nature. * IPS applications are the only ones support for notifications. In theory any application that uses the content item class should work, but I have only tested my own application that use this and they will work with it, so I’m pretty sure it will work with the other 3rd party application that use the classes. Babble has some API elements to it that will be document on my site later, so any application it doesn’t support, the application developer should be able to create a hook without much of a problem. (1) There are special variables that the count bot and phrase bot have access to, that can be used in the message, to show the name of the person who triggered, the bot’s name, and the match (this is for the phrase bot only). Bots can use commands, if it the command requires a the members name, use the special variable #member# Commands:
    Commands can perform special functions when issued. The commands can be issued thru the chat area (similar to how IRC does it).  Some commands have group restrictions.  You can add commands in 2 ways, in the ACP you can add basic commands , if you need more advanced functionality you can create a “command” file. Commands have been expanded greatly in 2.1, you can now "alias" them and the phrase/count bot can now use commands (the time bot can as well, but it wont have access to the #member# special variable).
    Command list:
    Announce – adds or removes an announcement to the room Ban – bans a user for a room. Unban – unbans a user for a room. BanList – Show’s who has been banned from a room. Ignore – Ignore a user in a room. Unignore – Stop ignored a user in a room. Kick – kick a user from a room. Me – an action command for a room. Mute – Mutes a member for everyone in a room. Unmute – unmutes the member in a room. Mutelist – shows a list of users who have been muted. Notifications – disables or enables notifications from the notification bot. Topic – adds or removes a chat topic from a room. Rules - Show the rules for a room if they have them. Password - sets a password for a room Purge - deletes all the existing messages in a room Stats - displays a rooms stats if enabled Rand - display a random GIF from giphy.com and many more! ** there is a 100 user soft limit placed on per site where babble is used. this limit isn't enforced, but if it becomes a commonality and a issue, it will be. if there is a demand for higher  limits, i will create additional packages. 

    286 downloads

       (1 review)

    10 comments

    Updated

  8. $175.00

    Babble

    This is the self hosted version of babble chat. it requires you to have access to nodejs or provide nodejs for it. this is a unconditional requirement for this application. if you are interested in this program, but can not provide access to nodejs, there is a service version located here: 
    NOTICE: If you are upgrading Babble, you will need to restart your babble.js application. if you have moved it from the default directory you will need to take the updated one, verify the information it contains, and replace the one you removed and then restart the babble.js app for node.
    Babble is a real time chat system using node.js and sockets. It uses less resources and doesn’t rely on long polling or interval scripts to check for new message. Babble is fully featured with those features laid out below.
    Requirements:
    A modern browser that supports web sockets. (Firefox/IE11/Edge/Chrome/Safari supports websockets. For mobile browsers, I will only be supporting Safari and Chrome).
    Node.js installed on a local or a remote server that can run a node.js script. I have only tested the last 4 versions of node.js, but the latest version of node.js you can install, the better.
    nodejs v4.x+ (v0.10 and v0.12 do not ship with ECMAScript 2015 enabled by default and might have other version related issues with third party libs in use for babble)  and npm to be installed.
    Notes: babble requires node.js. This is an unconditional requirement. So many of the features of babble are node.js dependent, that there isn’t any fallback to another web technology (like ajax/long polling). With that in mind, Babble is very javascript dependent, it will not degrade gracefully if javascript has been disabled in the browser,if you have any tin foil hat wearing members, they will not be able to use babble.
    Notes2: Cloudflare, cloudflare only has a limited range of ports that can be used if you choose to use this particular service, you will need to contact them about what ports are available to you. the only alternative to this is to use a sub-domain (not tied into cloudflare) and/or the servers IP address instead of your sites URL for the NODE URL in the ACP.  
    Note:
    **if you are running a server that doesn't use a LAMP ( Linux, Apache, MySQL, PHP) or LEMP (Linux, NGINX, MySQL, PHP) server, I will not be able to give support for. AFAIK node.js/socket.io will run on windows and mac os x, but configuration might prove difficult. As for *BSD servers, they should operate similar to a Linux server. Refunds will be given at my discretion, this does not mean I will not provide them for any reason, but for a valid reason.
    Each purchase only entitles a installation on 1 live site and 1 dev site. If you wish to run babble on multiple sites, you will need to purchase babble for each site. If you are found in violation of this agreement, I can choose to revoke your access to future updates and support until the matter is rectified.
    If you purchase a copyright removal, Babble will occasional make a call home to http://codingjungle.com to validate the copyright removal key. Copyright Removal keys will need to be purchased for each purchase of babble if you wish to run it on multiple sites without branding.
    Features:
    Rooms: Babble comes with two default rooms that can not be removed. The “Babble” room is used by default for Babble, and the Widget Room is used by the “Widget” (the widget can be configured to use the default room).  Each room has permissions that can be set like “View, Message, Whisper, Edit, Delete, Upload, and Archives”. Each room also has the ability to be configured independently of each other on uploads (what types and sizes), how many messages to show by default, rules to show before entering the room. Rooms can also have 3 bots they can configure (more on bots later). Rooms can be password protected. Uploads: Each room can be configured to allow uploads.  If the upload is an image, the image will be “lazy loaded” and resized to fit the dimensions of the message area better. If it is a non-image upload, it will display a link to download. NOTE: Groups who can see the room, can also download and view images. Sounds: Babble comes with a collection of sounds for send, receive, entering, leaving and whispers. Users can enable or disable each sound as they see fit. The sound files can be replaced at any time in the ACP by pointing to the corresponding sound setting to the new location (this is to avoid future updates from overwriting your sound files). NOTE: due to some limitations in mobile OS’s (iOS and android) even if the sounds are enabled by the user, there is one additional step they must take to hear sounds on the effected OS’s. On mobile devices a Speaker Icon will appear, that will need to be activated to be able to hear sounds, this action must be done each page refresh. Whispers: Whispers are private messages that are sent in between users. They will open in a “tab” in the room and will flash when a new message is received if you aren’t currently active on the tab that is. Whispers only work inside the room, you currently can not “whisper” to some one who is not logged into the room you are in (at a later date this might change). Browser Notifications: A user can set how many new messages they receive in a room before a browser notification is triggered (or they can disable them all together). Currently these do not work on mobile OS’s, in the future I plan on adding notifications for iOS and Android. New Message Order: By default babble will order messages newest to oldest, for some users this might not be ideal, so they can reverse the order to oldest to newest. Any new message after this will honor the setting. Group Content: You can set a min. content count per room for each user group before they can send messages. You can use this feature as a reward to your members for participation on your site. Note: Messages made in babble will not increment content counts.  Command Aliasing: you can set any number of aliases to existing/custom commands, this will help if you want to "localize" the commands. Stats - if stats are enabled for a room, you can keep track of basic stats like how many messages have been made in a room, the most online ever in a room, the current day's tally of how many have been in a room, and the top 5 users who make messages in a room. Archive - if enabled, a user can select to load messages previous made in the room. this is a group permission. BOTS:
    Babble comes with 4 bots, each serve a different function and are triggered in different ways.  3 of the bots can be configured per room, where the 4th bot can be configured to which rooms it sends messages too, as most of its settings are “global”. Hopefully Babble Bots can help you accomplish some pretty amazing things and enrich your users experience with babble.  Time Bot: the time bot can be configured per room*. This bot can be configured to send different messages at different times**.  You can use HTML/BBC in the bots messages. This bot runs from a task, so its HIGHLY recommend that you have your task configured to run as a cron job to see the best results. If not configured to a cron, this bot might not function properly. * you can configure this bot to store its messages in the database or not. Due to a technical limitation with node.js the bot is unable to check to see if there are any users in the room or not, so instead of having the chat history filled with messages from the time bot, they will “go away” on a page refresh. ** this is in minutes passed since the bot was configured, if you set a message to send every 10 minutes, then the first message will be sent 10 minutes after you configured the bot, and each additional message will be sent 10 minutes after this. Count Bot: This bot can be configured per room. You can configure this bot to send messages after x amount of messages sent by users*. You can also send different messages x amount of messages sent. You can use HTML/BBC and special variables(1) in your messages.  * this does not include whispers sent or messages from other bots. Phrase Bot: This bot can be configured per room. You can configure this bot to send messages when a match to a word/phrase is made. You can have multiple matches for the same message or multiple messages for different matches. You can use HTML/BBC and specials variables(1) in the messages. Notifications: This is the bot that has a global configuration. This bot will send messages out when new content is posted to the supported applications*.  Permissions are honored on these notifications, so if the user doesn’t have access to to view the area in question, they wont see the notification.  This bot can only be configured to tell it which rooms to run in, the rest of its settings are global due to its nature. * IPS applications are the only ones support for notifications. In theory any application that uses the content item class should work, but I have only tested my own application that use this and they will work with it, so I’m pretty sure it will work with the other 3rd party application that use the classes. Babble has some API elements to it that will be document on my site later, so any application it doesn’t support, the application developer should be able to create a hook without much of a problem. (1) There are special variables that the count bot and phrase bot have access to, that can be used in the message, to show the name of the person who triggered, the bot’s name, and the match (this is for the phrase bot only). Bots can use commands, if it the command requires a the members name, use the special variable #member# Commands:
    Commands can perform special functions when issued. The commands can be issued thru the chat area (similar to how IRC does it).  Some commands have group restrictions.  You can add commands in 2 ways, in the ACP you can add basic commands , if you need more advanced functionality you can create a “command” file. Commands have been expanded greatly in 2.1, you can now "alias" them and the phrase/count bot can now use commands (the time bot can as well, but it wont have access to the #member# special variable).
    Command list:
    Announce – adds or removes an announcement to the room Ban – bans a user for a room. Unban – unbans a user for a room. BanList – Show’s who has been banned from a room. Ignore – Ignore a user in a room. Unignore – Stop ignored a user in a room. Kick – kick a user from a room. Me – an action command for a room. Mute – Mutes a member for everyone in a room. Unmute – unmutes the member in a room. Mutelist – shows a list of users who have been muted. Notifications – disables or enables notifications from the notification bot. Topic – adds or removes a chat topic from a room. Rules - Show the rules for a room if they have them. Password - sets a password for a room Purge - deletes all the existing messages in a room Stats - displays a rooms stats if enabled Rand - display a random GIF from giphy.com and many more!

    214 downloads

       (2 reviews)

    6 comments

    Updated

  9. Free

    Name 2 Avatars

    GENERAL DESCRIPTION
    Name 2 Avatars is a free, 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 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!  
    FEATURES
    All settings are located in ACP > Members > 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.   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 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.   COMMUNITY DRIVEN, COMMUNITY FREE
    This application was created as a community-driven project as appreciation to the wonderful IPS community and all of its amazing members, who keep the community going with your feedback, peer to peer support, technical guidance, and love and support.  This application is released for free to the community, with no hidden disclaimers or strings attached.
    If your community has benefited from this application and you'd like to show your appreciation, then donate a coffee by send me a quick PayPal donation to https://www.paypal.me/codingjungle so I can buy a cup of joe to keep me awake during my coding marathons!  Thanks from a fellow IPS client.  

    66 downloads

       (4 reviews)

    4 comments

    Updated

  10. $25.00

    CJ Menu

    THIS APPLICATION HAS HIT EOL. IT WILL NO LONGER BE SUPPORTED AFTER IPS 4.3, A NEW APPLICATION IS AVIABLE:
    Menu Groups Manager
    if you own CJ Menu and have purchased from here, you can claim a free copy of MGM for a limited time (go to Store->manage orders, find CJ Menu, and click on manage, there will be a button for upgrade and you can claim MGM from there). If you purchased CJ Menu from the IPS market, please contact me over there (and i will upgrade you to the new application free of charge for a limited time.
    CJ Menu 4, is a full featured menu manager for IPS 4. CJ Menu 4 differs from previous versions of CJ Menu in key areas, originally it would replace the default IPS menu on all pages, but due to incompatibilities that a lot of third party skins introduce, this is now optional, with additional tools to aid in creation of custom menus thru out your site. Menu groups can now be selected to be shown on certain apps (this does not effect widgets, as widget areas are isolated to the apps). 
    Features:
    Optional replacement of the Default IPS Menu (this is enabled by default for legacy reasons on the Primary Menu Group). Unlimited Menu Groups (Menu Manager comes with 2 default groups that can not be removed, that is Primary and Header. Primary can be used to replace the default IPS Menu if your theme is compatible, Header will appear at the top of your site) Unlimited Parent Menu Items (the menu utilizes a "More" functionality) and unlimited tiers of sub menus. Mega Menu or Traditional Drop down layouts available. Magic Blocks: Allows you to create menu items, that have custom HTML/PHP using the IPS template logic, this also allows you to use other IPS template plugins. Two Styles of mobile menu for menu groups. customized icons or font awesome icons can be used for menu items. Several Menu Item types to choose from: Draw, Application, External URL, Internal URL, Magic Block, Wrapper** Special Application Features: Popular/Featured Records, and Attach Categories Pages: allows you to link to a page or a pages database Permission Schema: you can set custom permissions for each menu item, applications can be set to use the applications permissions. Wrapper Pages: links to an external website via Iframe, or you can create your own html page layout that wraps in the IPS wrapper or without it (menu will be available for both)***. ** each menu type excluding magic block, can have a magic block attached to it.
    *** Allows for simple pages to be created, so use of something like IPS Pages is not require to add additional static pages to your site (will be able to use IPS template logic here).
    I will no longer offer refunds due to skin incompatibilities with the "primary group" as there are options to disable it, and CJ Menu has a robust API to facilitate building plugins that can use custom groups (not to mention, the header group and the widgets continue to work without issue). If the theme designer is unable or unwilling to help you, I can, but I will charge an hourly rate for any form of customization needed (like plugin creation/css customization). Please contact me here or on my site for more details.

    116 downloads

       (0 reviews)

    0 comments

    Updated

  11. Free

    Smooth Scroller

    Adds in a "back 2 top" feature for IPS 4.0, based on my Smooth Scroller for IPS 3.x. 
    Directions are included, as there are a few settings that can alter the look and feel of the smooth scroller.

    37 downloads

       (0 reviews)

    0 comments

    Updated

  12. $375.00

    Babble Chat Service - (1 yr, upto 5 licenses)

    This is for a multi-site/increased connected limits than regular chat service offers.  this is for a 1 year subscription cycle. 
    what you will get:
    5 copies of babble to use on 5 sites.  private babble nodejs server (the connected user limit is not unlimited, but the server in this price bracket will easily handle around 1500 to 2000 connected users, this is not per site, but in total of all sites). region of your choice (north america (NYC, San Francisco, Toronto), Europe (Frankfurt, Amsterdam, London), Asia (Bangalore, Singapore)) custom codingjungle.net sub-domain (you can request to use your own domain, but you will be responsible for its renewals and updating their nameservers) Letsencrypt SSL (will be willing to use other certificate authority, but for an an additional price and cost of certificate) priority support during support hours (10 am to 6 pm central standard time, -6 UTC) 50% coupon for babble copyright removals purchased  after subscription cycle expiration, you can opt to renew this package or request a reduced price on self hosted packages ( 2 or less 50% off, 3 to 5  75% off, this will not include future renewal costs).  This package can take up to 48 to 72 hours to setup. After the server has been configured for the 5 babble license, any transferring of the URL to a new URL is a $25 fee (per URL) that will be required to be paid before transferring. 
    This is a pre-purchase package. this service will be ready 10/16/2017, if you purchase this package and wish to use it right away, you can request temporary license keys for the regular chat service till this service goes live. 
    After purchase, go to Store->Purchases, you will need the license key and your email address that was used when purchased. After installing babble and activating the license, it can take up to 2 hours before use.
    Babble is a real time chat system using node.js and sockets. It uses less resources and doesn’t rely on long polling or interval scripts to check for new message. Babble is fully featured with those features laid out below. The application will come with the first 3/6/12 month(s) (depending on package purchased) of service.
    Requirements:
    requires IPS 4.2 as it uses clubs. 
    A modern browser that supports web sockets. (Firefox/IE11/Edge/Chrome/Safari supports websockets. For mobile browsers, I will only be supporting Safari and Chrome). Babble and the chat service will require a purchase per site and a bi-yearly renewal agreement.
    If you purchase a copyright removal, Babble will occasional make a call home to http://codingjungle.com to validate the copyright removal key. Copyright Removal keys will need to be purchased for each purchase of babble if you wish to run it on multiple sites without branding.
    Features:
    Rooms: Babble comes with two default rooms that can not be removed. The “Babble” room is used by default for Babble, and the Widget Room is used by the “Widget” (the widget can be configured to use the default room).  Each room has permissions that can be set like “View, Message, Whisper, Edit, Delete, Upload, and Archives”. Each room also has the ability to be configured independently of each other on uploads (what types and sizes), how many messages to show by default, rules to show before entering the room. Rooms can also have 3 bots they can configure (more on bots later). Rooms can be password protected. Uploads: Each room can be configured to allow uploads.  If the upload is an image, the image will be “lazy loaded” and resized to fit the dimensions of the message area better. If it is a non-image upload, it will display a link to download. NOTE: Groups who can see the room, can also download and view images. Sounds: Babble comes with a collection of sounds for send, receive, entering, leaving and whispers. Users can enable or disable each sound as they see fit. The sound files can be replaced at any time in the ACP by pointing to the corresponding sound setting to the new location (this is to avoid future updates from overwriting your sound files). NOTE: due to some limitations in mobile OS’s (iOS and android) even if the sounds are enabled by the user, there is one additional step they must take to hear sounds on the effected OS’s. On mobile devices a Speaker Icon will appear, that will need to be activated to be able to hear sounds, this action must be done each page refresh. Whispers: Whispers are private messages that are sent in between users. They will open in a “tab” in the room and will flash when a new message is received if you aren’t currently active on the tab that is. Whispers only work inside the room, you currently can not “whisper” to some one who is not logged into the room you are in (at a later date this might change). Browser Notifications: A user can set how many new messages they receive in a room before a browser notification is triggered (or they can disable them all together). Currently these do not work on mobile OS’s, in the future I plan on adding notifications for iOS and Android. New Message Order: By default babble will order messages newest to oldest, for some users this might not be ideal, so they can reverse the order to oldest to newest. Any new message after this will honor the setting. Group Content: You can set a min. content count per room for each user group before they can send messages. You can use this feature as a reward to your members for participation on your site. Note: Messages made in babble will not increment content counts.  Command Aliasing: you can set any number of aliases to existing/custom commands, this will help if you want to "localize" the commands. Stats - if stats are enabled for a room, you can keep track of basic stats like how many messages have been made in a room, the most online ever in a room, the current day's tally of how many have been in a room, and the top 5 users who make messages in a room. Archive - if enabled, a user can select to load messages previous made in the room. this is a group permission. BOTS:
    Babble comes with 4 bots, each serve a different function and are triggered in different ways.  3 of the bots can be configured per room, where the 4th bot can be configured to which rooms it sends messages too, as most of its settings are “global”. Hopefully Babble Bots can help you accomplish some pretty amazing things and enrich your users experience with babble.  Time Bot: the time bot can be configured per room*. This bot can be configured to send different messages at different times**.  You can use HTML/BBC in the bots messages. This bot runs from a task, so its HIGHLY recommend that you have your task configured to run as a cron job to see the best results. If not configured to a cron, this bot might not function properly. * you can configure this bot to store its messages in the database or not. Due to a technical limitation with node.js the bot is unable to check to see if there are any users in the room or not, so instead of having the chat history filled with messages from the time bot, they will “go away” on a page refresh. ** this is in minutes passed since the bot was configured, if you set a message to send every 10 minutes, then the first message will be sent 10 minutes after you configured the bot, and each additional message will be sent 10 minutes after this. Count Bot: This bot can be configured per room. You can configure this bot to send messages after x amount of messages sent by users*. You can also send different messages x amount of messages sent. You can use HTML/BBC and special variables(1) in your messages.  * this does not include whispers sent or messages from other bots. Phrase Bot: This bot can be configured per room. You can configure this bot to send messages when a match to a word/phrase is made. You can have multiple matches for the same message or multiple messages for different matches. You can use HTML/BBC and specials variables(1) in the messages. Notifications: This is the bot that has a global configuration. This bot will send messages out when new content is posted to the supported applications*.  Permissions are honored on these notifications, so if the user doesn’t have access to to view the area in question, they wont see the notification.  This bot can only be configured to tell it which rooms to run in, the rest of its settings are global due to its nature. * IPS applications are the only ones support for notifications. In theory any application that uses the content item class should work, but I have only tested my own application that use this and they will work with it, so I’m pretty sure it will work with the other 3rd party application that use the classes. Babble has some API elements to it that will be document on my site later, so any application it doesn’t support, the application developer should be able to create a hook without much of a problem. (1) There are special variables that the count bot and phrase bot have access to, that can be used in the message, to show the name of the person who triggered, the bot’s name, and the match (this is for the phrase bot only). Bots can use commands, if it the command requires a the members name, use the special variable #member# Commands:
    Commands can perform special functions when issued. The commands can be issued thru the chat area (similar to how IRC does it).  Some commands have group restrictions.  You can add commands in 2 ways, in the ACP you can add basic commands , if you need more advanced functionality you can create a “command” file. Commands have been expanded greatly in 2.1, you can now "alias" them and the phrase/count bot can now use commands (the time bot can as well, but it wont have access to the #member# special variable).
    Command list:
    Announce – adds or removes an announcement to the room Ban – bans a user for a room. Unban – unbans a user for a room. BanList – Show’s who has been banned from a room. Ignore – Ignore a user in a room. Unignore – Stop ignored a user in a room. Kick – kick a user from a room. Me – an action command for a room. Mute – Mutes a member for everyone in a room. Unmute – unmutes the member in a room. Mutelist – shows a list of users who have been muted. Notifications – disables or enables notifications from the notification bot. Topic – adds or removes a chat topic from a room. Rules - Show the rules for a room if they have them. Password - sets a password for a room Purge - deletes all the existing messages in a room Stats - displays a rooms stats if enabled Rand - display a random GIF from giphy.com and many more! ** there is a 100 user soft limit placed on per site where babble is used. this limit isn't enforced, but if it becomes a commonality and a issue, it will be. if there is a demand for higher  limits, i will create additional packages. 

    0 downloads

       (0 reviews)

    0 comments

    Updated

  13. Free

    Doxygen for PHP Doc IPS 4

    demo :https://codingjungle.com/phpdoc/40200/
    this is the doxygen of IPS 4's PHP files. i will try to keep it current with each new release.
    Instructions:
    download file, extra into your IPS root path.
    open browser, http://mysite.com/phpdoc
    *note: you can upload it to your server, but if you do local development, probably best to keep it there and the above link for demo will be updated with each release i do. 

    14 downloads

       (0 reviews)

    0 comments

    Updated

  14. Free

    Non-eval Monekypatch IPS 4

    download the file, directions are in there.

    8 downloads

       (0 reviews)

    0 comments

    Updated

  15. Free

    Forms.php

    Any one who follows me over on IPS knows I have had many complaints about the forms and form helpers. Tired of sounds of crickets chirping while waiting for IPS to make improvements or take in considerations from the community, I built this class file for applications. 
     
    Usage:
    \IPS\myapp\Forms::i( $elements, $instancename, $form ) ( after $form, all the parameters are the same that you would find for \IPS\Helpers\Form\__construct method, but most of the time you will only need to set the $elements, $instancename is if you have multiple forms on the same page).
    $elements:
    tab, header, sidebar:
    'type' = tab|header|sidebar
    'name' =  used for all these to create them, if it is a lang/string, this is what is passed to the appropriate form command.
    example:
    $el[] = [ 'type' => 'tab|header|sidebar', 'name' => 'my_lang_string' ]; separator:
    'type' = 'separator'
    example:
    $el[] = [ 'type' => 'separator' ]; message: ->addMessage( $lang, $css='', $parse=TRUE, $_id=NULL)
    'type' = 'message'
    'msg' = this options is require for this type, the message you want to display
    optional:
    'css' = any additional css classes
    'parse' = default is true, set to false if msg is an already parsed lang string
    'id' = id of the element, default is null
    Example:
    $el[] = [ 'type' => 'message', 'msg' => 'my_message_lang_string' 'css' => 'myMessageClass myMessageClassWarning" ];
    helper:
    required:
    'name' = name of the element
    'class' = IPS Form Help Class (without the \IPS\Helpers\Form portion) or a FQN for a custom class.
    optional:
    'default' = the default value
    'required' = is it required or not
    'options' = an array of options for the class (identical to how options are set for form helpers)
    'validation' = validation method, can use a closure here, identical to how its set on the form helper.
    'prefix' = prefix for the form helper
    'suffix' = suffix for the form helper
    'id' = id for the form helper (if not set, the class will automatically configure name parameter with js_ prepend to it)
    'skip_id' = (bool) if 'id' isn't set, and you want it not to set it to js_name
    'label' = a lang string to use as the label instead of 'name'
    'description' => a lang string to use as an alternative description
    'appearRequired' => (bool) make the form helper appear required.
     
    Example:
    $el[] = [ 'class' => 'Select', 'name' => 'my_select_element', 'required' => true, 'options' => [ 'options' => [ 1, 2, 3, 4 ] ] ];  
    dummy: ->addDummy( $langKey, $value, $desc='', $warning='', $id='' )
    Required:
    'type' = 'dummy'
    'name' = name of the element
    'default' = value that will be display
    Optional:
    'desc' = description
    'warning' = warning
    'id' = html id (if not set, js_$name is used)
    Example:
    $el[] = [ 'type' => 'dummy', 'name' => 'my_dummy_element', 'default' => "content for the dummy element" ];  
    html: ->addHtml( $html )
    Required:
    'type' = 'html'
    'html' = the html to display
    Example:
    $el[] = [ 'type' => 'html', 'html' => "<a href='#'>some html</a>" ];  
    Matrix: ->addMatrix( $name, $matrix )
    Required:
    'type' = 'matrix'
    'matrix = must be an instance of \IPS\Helpers\Form\Matrix
    'name' = elements name.
    Example:
    $matrix = new \IPS\Helpers\Form\Matrix; $el[] = [ 'type' => 'matrix', 'matrix' => $matrix, 'name' => 'my_matrix_element' ];  
    i() method:
    public static function i( array $elements, $name = 'default', $form = null, $id = 'form', $submitLang = 'save', $action = null, $attributes = [] ) the instantiation method is pretty straight forward, you pass the array of elements to it, if you have multiple forms on the page, you can give the instance a name. if you have a form object already (like in nodes) just pass it Forms, the other parameters are for creating a new form, same parameters as \IPS\Form.
     
    Bringing it all together:
    $altDescription = "my_textarea_alt_desc"; $elements = [ [ 'type' => 'tab', 'name' => 'my_tab_1' ], [ 'class' => 'Text', 'name' => 'my_title', 'required' => true 'validation' => function( $data ){ if( !$data ) { throw new \InvalidArgumentException; } } ], [ 'class' => "Select", 'name' => "my_select', 'options' => [ 'options' => [ 1, 2, 3, 4 ] ] ], [ 'type' => 'tab', 'name' => 'my_tab_2' ], [ 'class' => "TexArea", 'name' => 'my_text_area', 'default' => 'im a default', 'description' => $altDescription ], [ 'type' => 'separator' ], [ 'class' => 'Text', 'name' => 'my_text_2' ] ]; $form = \IPS\myapp\Form::i( $elements ); \IPS\Output::i()->output = $form;  
    this will return an instance of \IPS\Form. 


    8 downloads

       (0 reviews)

    0 comments

    Updated

  16. Free

    [pages] Hide Side Bar Records

    Hide the sidebar if it is enabled for the page in record view. there might be little to no point in having the sidebar in a record view, this gives you the option to "hide" it for databases.
     
    you can see it in action if you go here:
    http://codingjungle.com/tutorials/cj-menu/
    and then click on any of the records, the sidebar will be gone in record view.

    1 download

       (0 reviews)

    0 comments

    Updated

  17. Free

    Polliwog

    This tool is for developers who have files on the IPS market (or not, its not a requirement).
    Features:
    receives push notifications from IPS marketplace make pull request to the IPS marketplace for previous purchase/expirations/renewals generate invoices on the IPS marketplace File management (special features if you have downloads, you can link to files to retrieve information from it) News api (allows you to output news to your application if you want) Version checks (can manage update checks for applications/plugins, if you have downloads, create a custom field for "long versions" so all the info can be pulled from the download file) Create forum topics for push notifications Create Members for your site based on push notifications for purchases. (will send out an email to the user with username, password)

    3 downloads

       (0 reviews)

    0 comments

    Updated

×