The encoded string stored in the site_system_preferences column is a base64 encoded serialized array. Follow these steps to both unserialize and decode the string:
Go to http://blog.tanist.co.uk/files/unserialize/index.php
Paste the entire string from the site_system_preferences column into the "Unserializer input" textarea field on the left of the page
Your "More Info" comment shows you are on the right track, in looking for other data fragments in the database. exp_channel_data contains your custom fields. Several third-party field types have their own table to store information in (like Matrix/exp_matrix_data).
You should be safe to remove the row from exp_channel_titles. The other tables contain data ...
Well, it doesn't particularly matter where it is stored in the database, as you can override that value in your config file.
So as long as you have access to the file system, you ...
There are two issues here to deal with.
Exporting Data from the old site
This can be done in a variety of ways. And it's arguably the easier task. I generally write custom PHP scripts, or sometimes a CodeIgniter app to connect to a copy of the original database and output XML files from it. It's just a matter of collecting all the needed fields. Since you'...
You can use the channel fields api to get the field names:
$fields = ee()->api_channel_fields->fetch_custom_channel_fields();
//change 1 to your site_id if using MSM
$quantity_field_id = $fields['custom_channel_fields']['your_quantity_field_name'];
$sql .= "picd....
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....
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 ...
Please see the documentation for full details: Connecting to an External Database
But the basic pattern for spinning up a separate DB connection in v3 would be:
Create a DBConfig object from your database's connection settings
Create a new Database object using the DBConfig object
Issue queries to a Query object on the new database with ->newQuery(), ...
You should never have to reinstall addons locally if you are pulling files/DB from production properly. If you are having this problem, the issue is most likely related to how you are doing the migration.
I'd suggest your errors are caused by your exported SQL not including DROP TABLE and you aren't manually dropping the tables in the DB before your import. ...
Since your files transferred just fine, it's the database export/import process that failed you.
If you are transferring a database from one server to another it is ideal to do one or both of the following:
Export the database you are duplicating with DROP TABLES syntax and gzipped. If you don't add DROP tables syntax, you'll just merge the tables possibly ...
When you upgraded to 2.7, do you recall the first time you accessed admin.php seeing the upgrade screen? And once the upgrade was complete, removing the installer directory?
It sounds like your db has not been upgraded. For example, open your db and check exp_security_hashes table for the 'used' column. Sounds like it is missing. Could be others things ...
This is because the master config changes database configurations based on the value of $_SERVER['HTTP_HOST'], and you likely have "denvillechamber.com" as your value, which is not the same as "www.denvillechamber.com".
Your site should not be accessible at both www and non-www locations - one should redirect to the other.
Put this in your .htaccess file:
To get all your paths/urls changed is a bit of a PITA since they are located in so many different sections of the CP. The easiest way to do this is with an addon. The two most popular are:
Deeploy Helper $22 (I prefer this one - use it on almost every build)
It's tricky. I'm in a similar situation, though I'm migrating from a non-EE site. So, I've had to write a number of SQL and PHP scripts that "know" what data can change and what can be new, and can grab just the change and insert or update into the EE database in the right place.
But, take a look at this technique for capturing database queries on one EE ...
Can you define what you mean by "a modern CMS"? Any database driven system will face similar problems when using Git source control. This isn't specifically an ExpressionEngine problem. The only systems that wouldn't suffer this difficulty are those using flat file architecture.
I often use Git with ExpressionEngine. The only possible sticking point being, ...
I figured it out.
in API_channel_entries.php, the title was being brought in before insertion like this:
'title' => ($this->EE->config->item('auto_convert_high_ascii') == 'y') ? ascii_to_entities($data['title']) : $data['title'],
I don't update regularly (we've made a lot of hacks to make EE work for us) so it's likely just my issue but that ...
You can temporarily disable ALL addons by adding this to your config file:
$config['allow_extensions'] = 'n';
This should allow you to access the Control Panel and then attempt to delete Cartthrob from there (if you're sure you don't want to delete all your sales data!). If that fails then look in the exp_modules and exp_extensions tables in the database ...
You will want to open up your CP and navigate to Admin > System Preferences > General Configuration and scroll down to New Version Auto Check and set that to "No". From the EE1 docs:
New Version Auto Check
Enabling this feature will cause a message to be displayed in the
Control Panel when a new version of ExpressionEngine is available. It
You probably need to check with your web host, as that error tells me that they made a change to MySQL server, and it's no longer configured to work with InnoDB. Or that you just moved from a host that supported InnoDB to one that does not.
There aren't any huge gotchas with running different engines on different tables as long as you or your web host are ...
I ran it and I'm getting results just fine.
Are you outputting the results correctly?
$query = ee()->db->query('SELECT cat_url_title, cat_name, ch.channel_name FROM exp_categories c
LEFT JOIN exp_channels ch ON ch.cat_group = c.group_id
WHERE c.cat_name LIKE "%'.ee()->db->escape_str($keywords).'%"');
It is possible, and I think it's safe but as you are doing make sure you backup test and roll back if you get unextpected results. (Is it safe??? lol)
You where almost rigth with what you did before, however exp_channel_data is not the indexed table for channel data, you want exp_channel_titles, these are your 2 queries :
ALTER TABLE `exp_channel_titles` ...
In EE 3/4/5, your database connection configuration lives in your system/user/config/config.php file. The configuration should look like this:
$config['database'] = array (
'database' => '',
'hostname' => '',
'username' => '',
'password' => ''
The docs say that Database Class is initialized automatically.
A var_dump(ee()->db) show us that the name of database can be retrieved by, on EECMS 2.6+:
And on EECMS 2.5.5-:
If I add a new field, will it be available for all entries in this
channel (new and existing) and can users update their entry
Yes, any new custom fields added to that channel will show up for new & existing entries. Your members will be able to update fine.
If you change a existing field to a new fieldtype (ie. text input ==> Matrix), ...
Yes there is! Andrew Weaver's Purgedata plugin will do exactly this.
Plugin page on brandnewbox
Download EE 2.x version from Bitbucket
From his website:
Delete content from selected weblogs that is older than a specified time
Ideal to accompany FeedGrab, CSVGrab and XMLGrab.
It works by adding the plugin's tag to an EE template and visiting the ...
I normally use a shared database between development and staging servers and a separate database for the live one. This prevents issues like this from happening and makes sure that your changes only go live when you intend them to.
Of course, this also introduces the age-old database sync issue, forcing you to manually replicate database changes across ...
I am experiencing the same problem where it seems to happen when "Is field searchable?" is enabled within the field settings containing the Matrix field-type (not sure why??!)...
I found a solution by changing line 7595 from
$select .= ', field_id_'.$fields[$key].' AS `'.$key.'`';
$select .= ', cd.field_id_'.$fields[$key].' AS `'.$key.'`';