Skip to content

Instantly share code, notes, and snippets.

@timkelty
Created July 29, 2010 20:40
Show Gist options
  • Save timkelty/499178 to your computer and use it in GitHub Desktop.
Save timkelty/499178 to your computer and use it in GitHub Desktop.
<?php
// import a pipe delimited list of entry ids into your custom field
// this is the column name of your Playa field
$ee_column = 'field_id_160';
global $DB;
$rels = array();
$entries_query = $DB->query("SELECT entry_id, $ee_column FROM exp_weblog_data WHERE $ee_column");
$entries = $entries_query->result;
foreach ($entries as $entry) :
$entry_id = $entry['entry_id'];
$split_rels = explode('|', $entry[$ee_column]);
foreach ($split_rels as $rel) :
$rels[] = array(
'rel_parent_id' => $entry_id,
'rel_child_id' => $rel,
'rel_type' => 'blog',
);
endforeach;
// clear field
$clear_field = $DB->update_string('exp_weblog_data', array($ee_column => ''), "entry_id = $entry_id" );
$DB->query($clear_field);
endforeach;
foreach ($rels as $rel) :
$entry_id = $rel['rel_parent_id'];
// update rel table, get rel id
$insert = $DB->insert_string('exp_relationships', $rel);
$DB->query($insert);
$rel_id = $DB->insert_id;
echo "Inserted $rel_id in exp_relationships\n";
// find current value
$select = $DB->query("SELECT $ee_column FROM exp_weblog_data WHERE entry_id = $entry_id");
$current = $select->row[$ee_column];
// update weblog data
$data = array(
$ee_column => $current . "[" . $rel_id . "]\n"
);
$update = $DB->update_string('exp_weblog_data', $data, "entry_id = $entry_id" );
$DB->query($update);
echo "Updated entry $entry_id in exp_weblog_data\n\n";
endforeach;
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment