mysite_create_account($owner)
mysite.module, line 2821
Create a MySite record for a new user without submitting a form.
$owner The user object of the person who owns the page
$mysite an array created by mysite_get()
function mysite_create_account($owner) {
$check = mysite_get($owner->uid, TRUE);
$status = variable_get('mysite_private_status', 1);
// mysite_get() returns -1 if no account exists.
if ($check == -1) {
if ($owner->uid == 0) {
$owner->name = t('My Homepage');
$status = 1;
}
$sql = "INSERT INTO {mysite} (uid, created, status, title) VALUES (%d, %d, %d, '%s')";
db_query($sql, $owner->uid, time(), $status, $owner->name);
// Add default content to the user page if it has been set.
$get = mysite_get(0);
if (isset($get->uid)) {
$default = db_fetch_object(db_query("SELECT layout, style, format, theme FROM {mysite} WHERE uid = 0"));
$sql = "UPDATE {mysite} SET layout = '%s', style = '%s', format = '%s', theme = '%s' WHERE uid = %d";
db_query($sql, $default->layout, $default->style, $default->format, $default->theme, $owner->uid);
// Insert the page data.
$pages = mysite_get_pages(0);
if (!empty($pages)) {
foreach ($pages as $page) {
$sql = "INSERT INTO {mysite_page} (page, uid, created, status, title, layout, style, format, theme)
VALUES (%d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s')";
db_query($sql, $page['page'], $owner->uid, time(), $status, $page['title'], $page['layout'], $page['style'], $page['format'], $page['theme']);
}
}
// Insert the page contents.
// Note that we don't load locked content here, since it is placed by default.
$content = db_query("SELECT title, page, type, type_id, sort, format, position, settings FROM {mysite_data} WHERE uid = 0 AND locked = 0");
while ($data = db_fetch_object($content)) {
$mid = db_next_id('{mysite_data}_mid');
$sql = "INSERT INTO {mysite_data} (mid, uid, page, title, type, type_id, sort, format, position, settings) VALUES (%d, %d, %d, '%s', '%s', %d, %d, '%s', %d, '%s')";
db_query($sql, $mid, $owner->uid, $data->page, $data->title, $data->type, $data->type_id, $data->sort, $data->format, $data->position, $data->settings);
}
}
// There is no default content configured, create a blank page.
else {
mysite_create_page($owner->uid, 0);
}
mysite_updated($owner->uid);
return mysite_get($owner->uid);
}
}