Hot answers tagged

3

In this case, the POST submission would be rejected not due to XSS, but CSRF. It's not an appropriate API to use for continuous submission from an external source. I haven't used Reinos' add-on, but depending on the third-party's flexibility, their aptitude, and your custom field requirements, it's possible that your needs would be covered by the native ...


3

I'm pretty sure you can just pass in the fieldname the row and column like $data['field_id_X'][rows][new_row_1][col_id_1] = 'row 1'; $data['field_id_X'][rows][new_row_2][col_id_1] = 'row 2'; Just increment new_row_x as needed and match up your col_id_x numbers


3

I would advise that you built it into an Omnipay gateway. Omnipay is the payment provider library that powers Exp:resso Store 2 and so by building it for Omnipay it will work on Store. They have a GitHub with examples and documentation https://github.com/omnipay/omnipay If you decide to go down that route, the ExpressionEngine Answers website wouldn't be ...


2

There is no API for adding anything other than fieldtypes or tabs to the entry screen. I'd suggest one of two options: Build a fieldtype which displays your button and adds the javascript you need, then place a field which uses this fieldtype as the last field on the screen. Build an accessory which simply injects some javascript into the edit entry screen ...


2

Ideally you should use them to create a plugin but technically you can place them wherever you wish so long as whatever needs to reference them can reach them.


2

Essentially, you'll create a module with an ACT URL. (https://docs.expressionengine.com/v2/development/modules.html). You'll have your mod.module_name.php file, which will contain your logic to retrieve the data and enter it into the database using the Database Class (https://docs.expressionengine.com/v2/development/usage/database.html). Then in you're upd....


1

As far as I know there is no way to do this using API. I think you should try with EE Model. You can easily create new field using the Model. And Model is most effective way to handle all these core things. You can create new field using below Model code. $field = ee('Model')->make('ChannelField'); $field->site_id = 0; $field->field_name = ...


1

You should always scrub any user input before it gets to your query. The first thing you should do is run and input variables through the input class. i. e. $var = ee()->input->post('my_var', TRUE) this will run the XSS filter on the data. Then when you use it in your sql: (this used to be a thing, but I can't find in the EE3 docs, they may of rolled ...


1

Use ee()->db->escape_str($event) - it's the native way to escape potentially-unsafe data in EE.


1

This sounds pretty good that their POS (is it just a POS? Not an ERP too?) has a rest API. That means that in the grand scheme of things it should be a nice job to push and pull data. There are a few ways to do things, but essentially, Cartthrob has hooks for most major events through the order process. You can simply fire off data to their API to inform ...


1

Have you had a look at the Grid Model that is in the system folder? Specifically /system/expressionengine/models/grid_model.php This model has methods for creating new Grid Fields (create_field on line 140), add and update columns (save_col_settings on lone 235) and saving data into the grid (save_field_data on line 689). Is this the API you are looking ...


1

I've used DataGrab to achieve this in the past. Solspace Importer will also do the same.


1

Very close to @johnathan-waters answer I imported new grid rows using this code $data['field_id_X']['rows']['new_row_Y']['col_id_Z'] = 'value';


Only top voted, non community-wiki answers of a minimum length are eligible