Jump to content

Nathan Explosion

Friends
  • Posts

    6,982
  • Joined

  • Days Won

    127

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Nathan Explosion

  1. GBoard is the default keyboard of the Google Android OS (it's on Pixel devices, it's on most OnePlus devices, plus others that don't massively deviate from the stock OS)

    'Samsung Keyboard' is the native keyboard on the Samsung version of the Google Android OS, but can be overridden by the manual installation of GBoard from Google Play, just like SwiftKey is available for all Android devices.

  2. First mention of filtering there, so wasn't aware it was a requirement. If it is then crack on with a Pages DB - you then have to figure out how to keep that data up to date, and when to do it. Alternatively, look at IPS\Helpers\Table\Custom to allow you to create an table based on an array datasource instead of a DB table.

    With all this in mind, I'd now advise you to look into developing an application to do all this instead...

    1. You can design your own table to store the data
    2. You can create a module/controller that will display that data, and add filtering on there easily.
    3. You can create a task that runs on a schedule to retrieve/store/update the data.

    Not much more to add really - if I knew what this mysterious API was, and where it was getting the data from, and what the data looked like then I might even get bored and throw together a POC of it.

  3. Zero knowledge of what API it is that you are referring to wanting to use so can't look at the data structure, and have no idea about how you want it to be displayed but here is what I would be doing on the page/block...

    1. Check if the data exists in \IPS\Data\Store
      • If not, retrieve the data via the API and then store the data in \IPS\Data\Store::i()->whateveryourkeyisgoingtobe, adding something to the data to provide a timestamp for it being added.
    2. Display the data however it is you wish it to be done.
    3. On subsequent loads, step 1 should also be checking if that timestamp should be considered 'out of date' - if it is, get the data again.

    I don't think you should think about storing the data in a Page DB - I can envision that become overly complex for what it appears that you are trying to do. And if the data store gets cleared, your code would just pull in the data again into the store anyway.

     

     

     

  4. 40 minutes ago, Square Wheels said:

    In December, I added JS to Theme --> Custom theme by Ehren --> Header and Footer --> Footer HTML.

    Yesterday I updated the site to 4.7.15.

    Then, I updated 5 themes I have by Ehren.

    All five themes had the JS removed from the Footer HTML field.

    Reproduced as follows;

    1. Create a brand new theme
    2. Download the theme using the option in the console
    3. Edit the theme, populate the header and footer bits via the available tab.
    4. Review site on front-end, verify items are there.
    5. Use the "Upload a new version" option on the theme, and use the XML file that was downloaded in step 2
    6. Edit the theme - the previously added header/footer content is gone
    7. Review site on front-end, the previously added header/footer content may still be there in the theme. If so...
      • Run support tool to clear caches
      • Review site on front-end, the previously added header/footer content are now gone.
  5. specific email addresses? Understood...you've probably created a number of SQL queries then (1 per email address) and not just using one catch-all query.

    But for the benefit of those reading at a later point - if wanting to do this for a specific email domain then can be done via the above method:

    Could contain: Page, Text

     

  6. 1 minute ago, Square Wheels said:

    I want to update select members from group x to group y, not all members of group x.

    What are the criteria that you are using at the query level to select those members?

    Note: I'm more interested in here in showing someone that the query above isn't needed, just in case someone arrives at this topic at a later point.

  7. 8 minutes ago, Square Wheels said:

    I want to move a couple thousand users to a new member group.

    If that provided SQL query definitely is meeting your needs then you could have just done the following on the members listing in the ACP...

    Could contain: Page, Text

    On the resulting dialog, change "Group" from '-Any Group-' to the name of the group that people are in - then click the 'Search' button.

    Then click the link...

    Could contain: Page, Text

     

    Thus saving you many hours...

    11 minutes ago, Square Wheels said:

    but it would save me many hours of editing individual records in the ACP.

     

     

     

  8. Got Pages? In the ACP, do the following (specifics included only...if it's not specifically mentioned, it's up to you what you set things as)

    • Go to Pages -> (Page Management) Blocks
    • Click "Create New Block"
    • Change "Plugin" to "Upcoming Events"
    • Click 'Next'
    • Name it & add a description
    • Go to the 'Content' tab
    • Change "Use this tempate as-is" to "Use as a base for a custom template"
    • Find the following:
    {{foreach $events as $event}}
    • Add this below it:
    {{if $event->online}}
    • Scroll down to find:
    {{endforeach}}
    • Add this above it:
    {{endif}}
    • Save
    • Go to Pages -> (Page Management) Pages
    • Click "Add Page"
    • Click "Next"
    • Name it, give it a filename
    • Click "Save"
    • Give permissions
    • On the resulting listing of Pages, click the "Open page builder"
    • Use the block manager to drag your new block into place on the page.
    • There's your online events page.

     

×
×
  • Create New...