IPS Staff
  • Content count

  • Joined

  • Last visited

About Mark

  • Rank
    I dropped the "iggy"
  • Birthday March 4

IPS Marketplace

  • Resources Contributor
    Total file submissions: 5

Profile Information

  • Gender
  • Location
    Colchester, UK

Recent Profile Visitors

133,136 profile views
  1. We are not adverse to using third party libraries where appropriate, as we have always done. As I say, if we were to write our own equivalents for any of the products you mention, they would behave in exactly the same way - so why spend that time doing that when a mature product that does the same thing is available and open source? Using a library allows us to spend that time elsewhere. As for security issues - we recently conducted audits this has resulted in us being able to harden some areas. These vary wildly in their severity though, especially XSS which is often Self-XSS, so often a lot of the things we've "fixed" recently have been more theoretical in nature than a practical concern, but we always will improve anything which the auditors flag up. To my recollection, none of these issues have been with third party libraries.
  2. I could certainly not do a better job than CKEditor Rather than debate any particular solution though, I'm interested in hearing why you're unhappy with CKEditor? You mentioned that it is "scattered" (I don't know what you mean by that), needs to be updated (but we handle that - when you upgrade IPS4, it always has the latest version of CKEditor bundled) and "need security measure" (I also don't know what you mean here - I'm not aware of there ever being any security concerns with CKEditor). What is it you would want to change? The design of the editor itself is of course our own, so in theory, even if we did write our own back-end (which I don't think we would ever do), it would look and behave exactly the same.
  3. It is my intention to make especially where clauses a bit easier to understand. We already have a first() method and calling a specific get() or all() method is not necessary as the query object itself is an iterator.
  4. 4.1.14

    This is a maintenance release to fix reported issues. In addition to a strong focus on overall stability, this release contains: Official PHP 7 support Major performance improvements to Activity Streams Important This is the last release to officially support PHP 5.5 which is now completely unsupported by PHP. If your web host is still using PHP 5.5 you should contact them to upgrade to either PHP 5.6 or PHP 7.0.
  5. Hi @Ali Majrashi, Developer CLI Since IPS4, unlike a standalone framework, actually has a GUI, it generally makes sense to put these things in the developer center. Almost all of the things you mention are already covered there. I think very few people would actually use a CLI tool. I would like to have a more sensible way of distributing the developer files too though - it's on my list Simplify Controller / Generalize and Simplify Model I think I see what you're getting at. Technically \IPS\Dispatcher\Controller is the base controller, and \IPS\Patterns\ActiveRecord is the base model, and it will remain this way, but in some cases it makes more sense to allow more of a mix-and-match - for example, in Content items. We have been limited a bit in the design patterns we can employ here due to PHP not allowing multiple inheritance, but this has changed since traits in PHP 5.4, and refactoring some of our more complicated code to utilize this to make more sense is definitely something I would like to do. Autoloading Sorry, no - it's needed for hooks I think most of our devs use the tool @Colonel_mortis mentioned to fix automcompleting in their IDE. Third Party Packages Put them anywhere you like I recommend in the main dev/js rather than interface so they get stored according to the admin's wishes - wish is something we're intending to transition to. Composer We've never really considered using Composer. I don't particularly have any thoughts either way. Form Helpers Yes, you're right. This is something I would like to do. Developer Portal This is something we are planning.
  6. \IPS\DateTime::ts( $comment->mapped('date') )
  7. [4.1.13] Guest checkout

    An issue has been identified in IPS Community Suite 4.1.13 where when a guest checks out, some gateways are not be available, and the user may experience an error with code 4X196/3. To fix this issue, upload the attached file to the specified location overwriting the file that is already there. applications/nexus/modules/front/checkout/checkout.php
  8. An issue has been identified in IPS Community Suite where Anti-Fraud rules in the Commerce application which are based on the score provided by MaxMind integration may not calculate the score correctly and the Anti-Fraud rule is incorrectly applied. To fix this issue, upload the attached file to the specified location, overwriting the file that already exists: applications/nexus/sources/Fraud/Rule.php
  9. An issue has been identified in IPS Community Suite where a site which is selling files through the Downloads manager and has multiple currencies set may show the price for the wrong currency at checkout. To fix this issue, upload the attached file to the specified location, overwriting the file that already exists: applications/downloads/modules/front/downloads/view.php
  10. [4.1.13] AWS S3 Downloads

    An issue has been identified in IPS Community Suite where, if you are using Amazon Web Services S3 integration, and the bucket you are storing files in is in a region other than US Standard, attempting to download files may produce an error. To fix this issue, upload the attached file to the specified location, overwriting the file that already exists: system/File/Amazon.php
  11. Enabling integration with Google Maps provides autocomplete functionality when a user enters an address (which is particularly useful if you are using the Commerce application) and can display maps when looking at IP addresses and elsewhere. Warning You need to enable three different API services. Make sure you follow all of the following instructions carefully. To enable Google Maps integration: Go to the Google Developers Console and sign in if you are not signed in already. In the top-right corner is the project selector. You may already have a project if you have previously integrated Google login on your community. If you do not have project, click the dropdown and create one. Click the "Google Maps JavaScript API" link and then click the "Enable" button. Click "Go to Credentials" and create an API key for a web browser. Make sure that "Google Maps Javascript API" is selected. Optionally fill in the referrer and click "Create API Key". Note that when entering a referrer, if you are using wildcards ** would not cover a domain which does not use www. at the beginning of the URL. You would need to ensure you use ** (without the .) to ensure this works correctly. You will be presented with an API key. On your community, to AdminCP > System > Community Enhancements > Google Maps and fill this into the "Google Maps API Key" field. Go back to the Overview page in the Google Developers console and repeat step 3 for the Google Static Maps API and the Google Maps Geocoding API.

    This release fixes a single issue where bulk mails may send duplicates, especially on sites with multiple languages.

    This is a minor release to fix a small number of bugs: Broken @mention links. Merging members could cause follow records to be lost. Email digests. Incoming emails to Commerce. Announcements expiring at the wrong time. Error when editing database records or sidebar widget. Error trying to establish external connection to certain servers. Error redirecting from http to https.
  14. This isn't a defence, but just for your interest, iOS 9.3.2, a minor release, was pulled very shortly after release because it was bricking iPad Pros. 9.3.0 was also pulled for a couple of days.
  15. 4.1.13

    This is a maintenance release to fix reported issues and add refinement to existing features. This release also contains a security improvement for older versions of PHP. In a recent change to their API, Google now requires an API Key to access their Maps API. After upgrading to 4.1.13, follow our Google Maps guide to restore this integration. This is especially recommended if you are using Commerce which uses the API for address input autocompletion. In addition to bug fixes and performance improvements, this release also includes following enhancements New per-group setting to highlight posts made by certain groups. 2 theme settings control the color and border, which are editable in the easy theme editor. New setting to make providing a billing address optional for purchases in Commerce. Personal conversation management improvements: Can now filter personal conversations to just read/unread. Can now move multiple personal conversations into a different folder at once. Can search by recipient/sender name. Notifications about Calendar events now include the event date. New setting to control which images sizes should have a watermark applied in Gallery. New setting to control which IP pool to use for SparkPost if you have purchased dedicated IP addresses. Better handling of upgrades if files have been modified. The sidebar widget for showing Downloads files can now show just free or paid files. When searching templates or CSS files in the AdminCP template editor, it will search for templates or CSS files with a name matching the term provided, in addition to searching the content of them. When viewing a log in the AdminCP, it will now show you on which page the log occurred and by which member. When the search index is being rebuilt, a message is now shown on the search results page to indicate why results may not be complete. The "details" modal for applications and plugins now has a tab which shows the hooks associated with that application or plugin. The placeholders that display on date/time inputs (e.g. "HH:MM") can now be translated. Rebuilding the search index, and rebuilding posts after a 3.x upgrade now processes newest posts first for a more user-friendly experience after upgrading. When a file is deleted, a log is created and a new setting controls how to keep these logs for. The following Pages features are also included: HTML pages are now editable via Designer's mode. Ability to rename, or delete a group of Database templates Ability to ensure the Page's title remains in all database generated links (categories, records, forms, etc) Reciprocal linking when using relational fields Date and time fields, and Yes/No fields are now filterable. Filterable custom fields now available when creating a record feed block Ability to make some custom fields unique, so that only one record per database can have the same value. Ability to delete a folder in the media manager Ability to use $record->field_key_name_here programatically to get and set values, instead of relying on $record->field_11 which may change when you export and import databases.