8

Yes and No. Starting from v3, EE is gradually moving away from CI. This isn't happening all in one go, but as major versions progress. CI is still there, but it's all tucked in the legacy directory, along with old, non-ported libraries and such. What is EE moving to? Not another framework. So no CI, Laravel, Yii or something similar. Rather, EE will be its ...


7

Just to clarify, we definitely use a forked version of CI with security holes patched as we find them. We also apply any security patches to the public version of CodeIgniter. Don't update what's there as that would cause compatibility issues.


6

You can use any ee add-ons which can create url_titles from another field (for example - MX *Title Control) + somethink like low_replace to remove dot's. You can replace it on JS level, you can use Foreign Character Extension You can make your own ext. using entry_submission_start hook. If you decide to hack core: \expressionengine\helpers\EE_url_helper....


6

EllisLab has forked the official CodeIgniter version and are using their own internal one. I highly doubt you can replace this with the official one.


4

You can make a module - like Steve advice. Use Yeoman ExpressionEngine Add-On generator to simplify developing process. On server you will need to setup cron with wget: execute cronjob every day at 3am 00 03 * * * wget http://example.com/index.php?ACT=XX&task_id=1 Or if you want something really quick and simple: Create a special template with some ...


4

You can do this by developing your add-on as a module rather than a plugin since only modules can use EE actions. (See the EE docs for an explanation of the difference between the types of add-on.) More info on EE actions here. Essentially, you need to develop a module to perform your desired action, then call the associated ACT URL (e.g. http://example....


4

EE3 does not use Codeigniter - but it is indeed hard to find the information online: if you want confirmation contact Derek Jones at EllisLabs (e.g. via EE Slack Channel - eecms.slack.com) EE3 is a major rewrite but a consequence is that it has broken a very large number (perhaps all) of EE2's add-ons and extensions. EllisLab perhaps were not so good at ...


3

That's a nasty one to debug. My advice is to let someone with a bit of codeigniter / expressionengine knowhow look at. If the addon was an extension, check if it is still referenced in the exp_extensions table. (duplicate table first as backup, then remove row with offending extension from exp_extensions table). edit: you might also be able to disable ...


3

I'm using PHPUnit, which is by far more popular in PHP-land. The full ins and outs of getting it set up are probably beyond a stack exchange answer, but assuming there are a couple things which should put you in the right direction. Testing with EE and CI in general is always an uphill battle, since they weren't really designed with testing in mind, and ...


3

The code you have should work fine. I've just run a test on a module and it loads fine in EE v2.5.3 (either in a method or in the class constructor). I've just had a quick read of the EE changelog and can't see any reference to changes there, so don't think it's version related. Are you sure it's not calling the Class and then doing something unexpected? I ...


3

From looking at the CI_Encrypt source code, I noticed that _xor_encrypt is only used when the PHP mcrypt module is not installed. I installed the PHP mcrypt module and added it to php.ini, which seems to have substantially reduced the time required to run this function. Note: I'm still having some slowness due to this module (much less than before), ...


2

Template Routes Control your URLs by remapping URI routes to a specific template, using CodeIgniter-style routing rules. $config['template_routes'] = array( 'blog/:category' => 'site/blog-category', 'blog/:year/:pagination' => 'site/blog-yearly-archive', 'blog/:any' => 'site/blog-single', );


2

CE Cache and ExpressionEngine's cache="yes" are not true caches. I hate that they advertise themselves as "caches" - they are not! They simply cache ExpressionEngine template parsing's output at a very high level, the entire PHP stack and ExpressionEngine core still needs to run. Not to mention database traffic, even for non-logged in members due to EE's ...


2

Try changing this line: $query = ee()->db->get_where('exp_channel_titles', array('title' => $coupon_code, 'channel_id' => 8)); To this: ee()->db->where('exp_channel_titles', array('title' => $coupon_code, 'channel_id' => 8));


2

I had a similar issue recently on a VPS account – the local version worked. It ended up being a mod security setting that was preventing this from saving with the same error you mentioned. Oddly this is the first time this issue came up with ExpressionEngine, despite being an issue with other CMS before using the same provider (Liquidweb in my case.) Hope ...


2

Try setting this line in config.php to be FALSE: $config['compress_output'] = FALSE; When I see an error, I go to the line of code to see what the script is trying to do. Line 166 in the /system/codeigniter/system/core/Exceptions.php file is in the show_php_error() function so I'd suggest checking your PHP error logs to see what error is being thrown. If ...


2

This usually happens when there is a clash between the cookies. Give clearing your browser cookies, or at least delete the EE ones a try. A good way to thwart this is to set a unique cookie prefix/domain for the site/server. you can find the cookie overrides here: https://docs.expressionengine.com/latest/general/system_configuration_overrides.html I's start ...


2

An EE configuration needs to know both the URL of the site and the local path to the webroot folder within the server you are using to operate. If you have changed servers then it is likely that the local path to the webroot folder will have changed, and as a result EE operations that rely on accessing files stored below that webroot folder (such as images) ...


1

CodeIgniter controllers and ExpressionEngine template groups are analogous in function but not in implementation. In this case, your template CheckLogin is being called without having to write a controller in between (EE does that for you). In this case, you wouldn't need to write a class structure at all. Here is an example of how you'd grab those data ...


1

It's a common function functionality of addons to use parameters, so there's an EE function for that: ee()->TMPL->fetch_param('param_name'); Check out the docs if you need an example and more info.


1

Have you identified which field is id 14? You can by looking at table exp_field-types or by looking at your field-groups inside the CP. Once you figure out the field in question, that may give you a clue. If unused, you can try getting rid of it. Or you can change the NULLs to "" by running the following Query (backup your table before doing this, just in ...


1

Doh! Just wrote all the below and then realised the problem - you're using the wrong path! You've put in a domain URL, or stated an invalid path. You need to start from the servers file root with /. Worth reading through the below, as this would have identified the issue also. The original response... If you have those settings from the beginning, before ...


1

ExpressionEngine is a purely PHP Content Management System (CMS) framework. As you mentioned, it is currently based off of the CodeIgniter MVC framework. As for technologies that are required to employ ExpressionEngine ... -Linux or similar operating system; one capable of serving a PHP agent -Database functionality, specifically MySQL with a MyISAM ...


1

You mention using MSM, so are you using the site parameter? Docs here In sites 2 and 3, simply specify site="websiteA" in your exp:channel:entries tag pair to output content from the first site. This avoids duplicating the content in the database across all three sites. Might want to consider using Canonical meta pointing to the original site to avoid SEO ...


1

First thing: ExpressionEngine uses a modified version of CodeIgniter. Ellis Lab maintains their own branch of the main CodeIgniter code base, so expect to run into occasional issues between documentation and actual function. Second thing: Go to your EE route config file at: /system/expressionengine/config/routes.php and you can go a head and mess about ...


1

Short version, No you can't alter this setting via a config file. Long version, you see in your snippet in the OP it is defined as a const constant on the Class, conversly the items you change via the config files are variables. You can't change or redefine contastants with code as by their nature they are fixed. Now it is possible (if you look to the ...


1

Can you provide a bit more information to what you are doing? e.g. are you creating an add-on and calling form open? Or are you using a template tag that shows a form? The issue is (if you look at line 345 form_helper) that you/it is trying to pass an array in a $key or $val to output a form_select option="" html tag.


1

How do I circumvent this without modifying core code on either system? My guess: you can't. A now() function is being declared in CodeIgniter's Date helper (which is a core file), and in Magento's functions.php (which is also a core file, by the looks of the file path). EE uses CI's Date helper in various places, so you can't avoid it...


1

The following article suggests that the Codeigniter add_cipher_noise method might fall in the category "don’t come up with your own way to solve a (possible) vulnerability". I doubt this will be fixed. The article suggests using hmac over the IV. I don't know if you could shoehorn in using the PHP internal hash_hmac() function instead of the custom ...


1

Not, positive, but I believe the library needs to have the module name in front of it. i.e. Mymodulename_litmus.php then call $this->EE->load->library->('mymodulename_litmus'); This will tell EE to look in your addon's libraries folder and not EE's stock library folder. (I think).


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