mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-17 04:15:15 +02:00
Merge https://github.com/friendica/friendica into pull
This commit is contained in:
commit
776552226b
25 changed files with 869 additions and 293 deletions
|
@ -3,7 +3,7 @@
|
|||
require_once("boot.php");
|
||||
|
||||
|
||||
function cronhooks_run($argv, $argc){
|
||||
function cronhooks_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -232,8 +232,9 @@ function q($sql) {
|
|||
|
||||
if($db && $db->connected) {
|
||||
$stmt = vsprintf($sql,$args);
|
||||
//logger("dba: q: $stmt", LOGGER_ALL);
|
||||
if($stmt === false)
|
||||
logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
|
||||
logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true), LOGGER_DEBUG);
|
||||
return $db->q($stmt);
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ require_once("boot.php");
|
|||
require_once('include/queue_fn.php');
|
||||
require_once('include/html2plain.php');
|
||||
|
||||
function delivery_run($argv, $argc){
|
||||
function delivery_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)){
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
require_once("boot.php");
|
||||
|
||||
function directory_run($argv, $argc){
|
||||
function directory_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
require_once("boot.php");
|
||||
|
||||
function expire_run($argv, $argc){
|
||||
function expire_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -4,7 +4,7 @@ require_once("boot.php");
|
|||
require_once('include/Scrape.php');
|
||||
require_once('include/socgraph.php');
|
||||
|
||||
function gprobe_run($argv, $argc){
|
||||
function gprobe_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -2168,9 +2168,10 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
|
|||
}
|
||||
|
||||
function local_delivery($importer,$data) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
logger(__function__, LOGGER_TRACE);
|
||||
|
||||
if($importer['readonly']) {
|
||||
// We aren't receiving stuff from this person. But we will quietly ignore them
|
||||
// rather than a blatant "go away" message.
|
||||
|
@ -2305,7 +2306,7 @@ function local_delivery($importer,$data) {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
|
||||
// Currently unsupported - needs a lot of work
|
||||
$reloc = $feed->get_feed_tags( NAMESPACE_DFRN, 'relocate' );
|
||||
if(isset($reloc[0]['child'][NAMESPACE_DFRN])) {
|
||||
|
@ -2315,23 +2316,79 @@ function local_delivery($importer,$data) {
|
|||
$newloc['cid'] = $importer['id'];
|
||||
$newloc['name'] = notags(unxmlify($base['name'][0]['data']));
|
||||
$newloc['photo'] = notags(unxmlify($base['photo'][0]['data']));
|
||||
$newloc['thumb'] = notags(unxmlify($base['thumb'][0]['data']));
|
||||
$newloc['micro'] = notags(unxmlify($base['micro'][0]['data']));
|
||||
$newloc['url'] = notags(unxmlify($base['url'][0]['data']));
|
||||
$newloc['request'] = notags(unxmlify($base['request'][0]['data']));
|
||||
$newloc['confirm'] = notags(unxmlify($base['confirm'][0]['data']));
|
||||
$newloc['notify'] = notags(unxmlify($base['notify'][0]['data']));
|
||||
$newloc['poll'] = notags(unxmlify($base['poll'][0]['data']));
|
||||
$newloc['site-pubkey'] = notags(unxmlify($base['site-pubkey'][0]['data']));
|
||||
$newloc['pubkey'] = notags(unxmlify($base['pubkey'][0]['data']));
|
||||
$newloc['prvkey'] = notags(unxmlify($base['prvkey'][0]['data']));
|
||||
$newloc['sitepubkey'] = notags(unxmlify($base['sitepubkey'][0]['data']));
|
||||
/** relocated user must have original key pair */
|
||||
/*$newloc['pubkey'] = notags(unxmlify($base['pubkey'][0]['data']));
|
||||
$newloc['prvkey'] = notags(unxmlify($base['prvkey'][0]['data']));*/
|
||||
|
||||
logger("items:relocate contact ".print_r($newloc, true).print_r($importer, true), LOGGER_DEBUG);
|
||||
|
||||
// update contact
|
||||
$r = q("SELECT photo, url FROM contact WHERE id=%d AND uid=%d;",
|
||||
intval($importer['id']),
|
||||
intval($importer['importer_uid']));
|
||||
if ($r === false)
|
||||
return 1;
|
||||
$old = $r[0];
|
||||
|
||||
$x = q("UPDATE contact SET
|
||||
name = '%s',
|
||||
photo = '%s',
|
||||
thumb = '%s',
|
||||
micro = '%s',
|
||||
url = '%s',
|
||||
request = '%s',
|
||||
confirm = '%s',
|
||||
notify = '%s',
|
||||
poll = '%s',
|
||||
`site-pubkey` = '%s'
|
||||
WHERE id=%d AND uid=%d;",
|
||||
dbesc($newloc['name']),
|
||||
dbesc($newloc['photo']),
|
||||
dbesc($newloc['thumb']),
|
||||
dbesc($newloc['micro']),
|
||||
dbesc($newloc['url']),
|
||||
dbesc($newloc['request']),
|
||||
dbesc($newloc['confirm']),
|
||||
dbesc($newloc['notify']),
|
||||
dbesc($newloc['poll']),
|
||||
dbesc($newloc['sitepubkey']),
|
||||
intval($importer['id']),
|
||||
intval($importer['importer_uid']));
|
||||
|
||||
if ($x === false)
|
||||
return 1;
|
||||
// update items
|
||||
$fields = array(
|
||||
'owner-link' => array($old['url'], $newloc['url']),
|
||||
'author-link' => array($old['url'], $newloc['url']),
|
||||
'owner-avatar' => array($old['photo'], $newloc['photo']),
|
||||
'author-avatar' => array($old['photo'], $newloc['photo']),
|
||||
);
|
||||
foreach ($fields as $n=>$f){
|
||||
$x = q("UPDATE item SET `%s`='%s' WHERE `%s`='%s' AND uid=%d",
|
||||
$n, dbesc($f[1]),
|
||||
$n, dbesc($f[0]),
|
||||
intval($importer['importer_uid']));
|
||||
if ($x === false)
|
||||
return 1;
|
||||
}
|
||||
|
||||
// TODO
|
||||
// merge with current record, current contents have priority
|
||||
// update record, set url-updated
|
||||
// update profile photos
|
||||
// schedule a scan?
|
||||
|
||||
return 0;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// handle friend suggestion notification
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
require_once("boot.php");
|
||||
require_once('include/queue_fn.php');
|
||||
require_once('include/html2plain.php');
|
||||
|
@ -43,7 +42,7 @@ require_once('include/html2plain.php');
|
|||
*/
|
||||
|
||||
|
||||
function notifier_run($argv, $argc){
|
||||
function notifier_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)){
|
||||
|
@ -89,6 +88,7 @@ function notifier_run($argv, $argc){
|
|||
$expire = false;
|
||||
$mail = false;
|
||||
$fsuggest = false;
|
||||
$relocate = false;
|
||||
$top_level = false;
|
||||
$recipients = array();
|
||||
$url_recipients = array();
|
||||
|
@ -136,11 +136,15 @@ function notifier_run($argv, $argc){
|
|||
}
|
||||
elseif($cmd === 'removeme') {
|
||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($item_id));
|
||||
if (! $r)
|
||||
return;
|
||||
$user = $r[0];
|
||||
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 1 LIMIT 1", intval($item_id));
|
||||
if (! $r)
|
||||
return;
|
||||
$self = $r[0];
|
||||
$r = q("SELECT * FROM `contact` WHERE `self` = 0 AND `uid` = %d", intval($item_id));
|
||||
if(! count($r))
|
||||
if(! $r)
|
||||
return;
|
||||
require_once('include/Contact.php');
|
||||
foreach($r as $contact) {
|
||||
|
@ -148,8 +152,12 @@ function notifier_run($argv, $argc){
|
|||
}
|
||||
return;
|
||||
}
|
||||
elseif($cmd === 'relocate') {
|
||||
$normal_mode = false;
|
||||
$relocate = true;
|
||||
$uid = $item_id;
|
||||
}
|
||||
else {
|
||||
|
||||
// find ancestors
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = %d and visible = 1 and moderated = 0 LIMIT 1",
|
||||
intval($item_id)
|
||||
|
@ -214,7 +222,7 @@ function notifier_run($argv, $argc){
|
|||
// fill this in with a single salmon slap if applicable
|
||||
$slap = '';
|
||||
|
||||
if(! ($mail || $fsuggest)) {
|
||||
if(! ($mail || $fsuggest || $relocate)) {
|
||||
|
||||
require_once('include/group.php');
|
||||
|
||||
|
@ -418,6 +426,45 @@ function notifier_run($argv, $argc){
|
|||
);
|
||||
|
||||
}
|
||||
elseif($relocate) {
|
||||
$public_message = false; // suggestions are not public
|
||||
|
||||
$sugg_template = get_markup_template('atom_relocate.tpl');
|
||||
|
||||
/* get site pubkey. this could be a new installation with no site keys*/
|
||||
$pubkey = get_config('system','site_pubkey');
|
||||
if(! $pubkey) {
|
||||
$res = new_keypair(1024);
|
||||
set_config('system','site_prvkey', $res['prvkey']);
|
||||
set_config('system','site_pubkey', $res['pubkey']);
|
||||
}
|
||||
|
||||
$rp = q("SELECT `resource-id` , `scale`, type FROM `photo`
|
||||
WHERE `profile` = 1 AND `uid` = %d ORDER BY scale;", $uid);
|
||||
$photos = array();
|
||||
$ext = Photo::supportedTypes();
|
||||
foreach($rp as $p){
|
||||
$photos[$p['scale']] = $a->get_baseurl().'/photo/'.$p['resource-id'].'-'.$p['scale'].'.'.$ext[$p['type']];
|
||||
}
|
||||
unset($rp, $ext);
|
||||
|
||||
$atom .= replace_macros($sugg_template, array(
|
||||
'$name' => xmlify($owner['name']),
|
||||
'$photo' => xmlify($photos[4]),
|
||||
'$thumb' => xmlify($photos[5]),
|
||||
'$micro' => xmlify($photos[6]),
|
||||
'$url' => xmlify($owner['url']),
|
||||
'$request' => xmlify($owner['request']),
|
||||
'$confirm' => xmlify($owner['confirm']),
|
||||
'$notify' => xmlify($owner['notify']),
|
||||
'$poll' => xmlify($owner['poll']),
|
||||
'$sitepubkey' => xmlify(get_config('system','site_pubkey')),
|
||||
//'$pubkey' => xmlify($owner['pubkey']),
|
||||
//'$prvkey' => xmlify($owner['prvkey']),
|
||||
));
|
||||
$recipients_relocate = q("SELECT * FROM contact WHERE uid = %d AND self = 0 AND network = '%s'" , intval($uid), NETWORK_DFRN);
|
||||
unset($photos);
|
||||
}
|
||||
else {
|
||||
if($followup) {
|
||||
foreach($items as $item) { // there is only one item
|
||||
|
@ -493,9 +540,12 @@ function notifier_run($argv, $argc){
|
|||
else
|
||||
$recip_str = implode(', ', $recipients);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` IN ( %s ) AND `blocked` = 0 AND `pending` = 0 ",
|
||||
dbesc($recip_str)
|
||||
);
|
||||
if ($relocate)
|
||||
$r = $recipients_relocate;
|
||||
else
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` IN ( %s ) AND `blocked` = 0 AND `pending` = 0 ",
|
||||
dbesc($recip_str)
|
||||
);
|
||||
|
||||
|
||||
require_once('include/salmon.php');
|
||||
|
@ -507,7 +557,7 @@ function notifier_run($argv, $argc){
|
|||
if(count($r)) {
|
||||
|
||||
foreach($r as $contact) {
|
||||
if((! $mail) && (! $fsuggest) && (! $followup) && (! $contact['self'])) {
|
||||
if((! $mail) && (! $fsuggest) && (! $followup) && (!$relocate) && (! $contact['self'])) {
|
||||
if(($contact['network'] === NETWORK_DIASPORA) && ($public_message))
|
||||
continue;
|
||||
q("insert into deliverq ( `cmd`,`item`,`contact` ) values ('%s', %d, %d )",
|
||||
|
@ -544,7 +594,7 @@ function notifier_run($argv, $argc){
|
|||
// potentially more than one recipient. Start a new process and space them out a bit.
|
||||
// we will deliver single recipient types of message and email recipients here.
|
||||
|
||||
if((! $mail) && (! $fsuggest) && (! $followup)) {
|
||||
if((! $mail) && (! $fsuggest) && (!$relocate) && (! $followup)) {
|
||||
|
||||
$this_batch[] = $contact['id'];
|
||||
|
||||
|
@ -559,7 +609,7 @@ function notifier_run($argv, $argc){
|
|||
|
||||
$deliver_status = 0;
|
||||
|
||||
logger("main delivery by notifier: followup=$followup mail=$mail fsuggest=$fsuggest");
|
||||
logger("main delivery by notifier: followup=$followup mail=$mail fsuggest=$fsuggest relocate=$relocate");
|
||||
|
||||
switch($contact['network']) {
|
||||
case NETWORK_DFRN:
|
||||
|
@ -916,6 +966,7 @@ function notifier_run($argv, $argc){
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
if (array_search(__file__,get_included_files())===0){
|
||||
notifier_run($argv,$argc);
|
||||
killme();
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
require_once("boot.php");
|
||||
|
||||
function onepoll_run($argv, $argc){
|
||||
function onepoll_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
require_once("boot.php");
|
||||
|
||||
|
||||
function poller_run($argv, $argc){
|
||||
function poller_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)) {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
require_once("boot.php");
|
||||
require_once('include/queue_fn.php');
|
||||
|
||||
function queue_run($argv, $argc){
|
||||
function queue_run(&$argv, &$argc){
|
||||
global $a, $db;
|
||||
|
||||
if(is_null($a)){
|
||||
|
|
237
include/uimport.php
Normal file
237
include/uimport.php
Normal file
|
@ -0,0 +1,237 @@
|
|||
<?php
|
||||
/**
|
||||
* import account file exported from mod/uexport
|
||||
* args:
|
||||
* $a App Friendica App Class
|
||||
* $file Array array from $_FILES
|
||||
*/
|
||||
require_once("include/Photo.php");
|
||||
define("IMPORT_DEBUG", False);
|
||||
|
||||
function last_insert_id(){
|
||||
global $db;
|
||||
if (IMPORT_DEBUG) return 1;
|
||||
if($db->mysqli){
|
||||
$thedb = $db->getdb();
|
||||
return $thedb->insert_id;
|
||||
} else {
|
||||
return mysql_insert_id();
|
||||
}
|
||||
}
|
||||
|
||||
function last_error(){
|
||||
global $db;
|
||||
return $db->error;
|
||||
}
|
||||
|
||||
function db_import_assoc($table, $arr){
|
||||
if (IMPORT_DEBUG) return true;
|
||||
if (isset($arr['id'])) unset($arr['id']);
|
||||
$cols = implode("`,`", array_map('dbesc', array_keys($arr)));
|
||||
$vals = implode("','", array_map('dbesc', array_values($arr)));
|
||||
$query = "INSERT INTO `$table` (`$cols`) VALUES ('$vals')";
|
||||
logger("uimport: $query",LOGGER_TRACE);
|
||||
return q($query);
|
||||
}
|
||||
|
||||
function import_cleanup($newuid) {
|
||||
q("DELETE FROM `user` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `contact` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `profile` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `photo` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `group` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `group_member` WHERE uid = %d", $newuid);
|
||||
q("DELETE FROM `pconfig` WHERE uid = %d", $newuid);
|
||||
|
||||
}
|
||||
|
||||
function import_account(&$a, $file) {
|
||||
logger("Start user import from ".$file['tmp_name']);
|
||||
/*
|
||||
STEPS
|
||||
1. checks
|
||||
2. replace old baseurl with new baseurl
|
||||
3. import data (look at user id and contacts id)
|
||||
4. archive non-dfrn contacts
|
||||
5. send message to dfrn contacts
|
||||
*/
|
||||
|
||||
$account = json_decode(file_get_contents($file['tmp_name']), true);
|
||||
if ($account===null) {
|
||||
notice(t("Error decoding account file"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (!x($account, 'version')) {
|
||||
notice(t("Error! No version data in file! This is not a Friendica account file?"));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($account['schema'] != DB_UPDATE_VERSION) {
|
||||
notice(t("Error! I can't import this file: DB schema version is not compatible."));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$oldbaseurl = $account['baseurl'];
|
||||
$newbaseurl = $a->get_baseurl();
|
||||
$olduid = $account['user']['uid'];
|
||||
|
||||
unset($account['user']['uid']);
|
||||
foreach($account['user'] as $k => &$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
}
|
||||
|
||||
|
||||
// import user
|
||||
$r = db_import_assoc('user', $account['user']);
|
||||
if ($r===false) {
|
||||
//echo "<pre>"; var_dump($r, $query, mysql_error()); killme();
|
||||
logger("uimport:insert user : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
notice(t("User creation error"));
|
||||
return;
|
||||
}
|
||||
$newuid = last_insert_id();
|
||||
//~ $newuid = 1;
|
||||
|
||||
|
||||
|
||||
foreach($account['profile'] as &$profile) {
|
||||
foreach($profile as $k=>&$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
foreach(array("profile","avatar") as $k)
|
||||
$v = str_replace($newbaseurl."/photo/".$k."/".$olduid.".jpg", $newbaseurl."/photo/".$k."/".$newuid.".jpg", $v);
|
||||
}
|
||||
$profile['uid'] = $newuid;
|
||||
$r = db_import_assoc('profile', $profile);
|
||||
if ($r===false) {
|
||||
logger("uimport:insert profile ".$profile['profile-name']." : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
info(t("User profile creation error"));
|
||||
import_cleanup($newuid);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$errorcount=0;
|
||||
foreach($account['contact'] as &$contact) {
|
||||
if ($contact['uid'] == $olduid && $contact['self'] == '1'){
|
||||
foreach($contact as $k=>&$v) {
|
||||
$v = str_replace($oldbaseurl, $newbaseurl, $v);
|
||||
foreach(array("profile","avatar","micro") as $k)
|
||||
$v = str_replace($newbaseurl."/photo/".$k."/".$olduid.".jpg", $newbaseurl."/photo/".$k."/".$newuid.".jpg", $v);
|
||||
}
|
||||
}
|
||||
if ($contact['uid'] == $olduid && $contact['self'] == '0') {
|
||||
switch ($contact['network']){
|
||||
case NETWORK_DFRN:
|
||||
// send relocate message (below)
|
||||
break;
|
||||
case NETWORK_ZOT:
|
||||
// TODO handle zot network
|
||||
break;
|
||||
case NETWORK_MAIL2:
|
||||
// TODO ?
|
||||
break;
|
||||
case NETWORK_FEED:
|
||||
case NETWORK_MAIL:
|
||||
// Nothing to do
|
||||
break;
|
||||
default:
|
||||
// archive other contacts
|
||||
$contact['archive'] = "1";
|
||||
}
|
||||
}
|
||||
$contact['uid'] = $newuid;
|
||||
$r = db_import_assoc('contact', $contact);
|
||||
if ($r===false) {
|
||||
logger("uimport:insert contact ".$contact['nick'].",".$contact['network']." : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
$errorcount++;
|
||||
} else {
|
||||
$contact['newid'] = last_insert_id();
|
||||
}
|
||||
}
|
||||
if ($errorcount>0) {
|
||||
notice( sprintf(tt("%d contact not imported", "%d contacts not imported", $errorcount), $errorcount) );
|
||||
}
|
||||
|
||||
foreach($account['group'] as &$group) {
|
||||
$group['uid'] = $newuid;
|
||||
$r = db_import_assoc('group', $group);
|
||||
if ($r===false) {
|
||||
logger("uimport:insert group ".$group['name']." : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
} else {
|
||||
$group['newid'] = last_insert_id();
|
||||
}
|
||||
}
|
||||
|
||||
foreach($account['group_member'] as &$group_member) {
|
||||
$group_member['uid'] = $newuid;
|
||||
|
||||
$import = 0;
|
||||
foreach($account['group'] as $group) {
|
||||
if ($group['id'] == $group_member['gid'] && isset($group['newid'])) {
|
||||
$group_member['gid'] = $group['newid'];
|
||||
$import++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
foreach($account['contact'] as $contact) {
|
||||
if ($contact['id'] == $group_member['contact-id'] && isset($contact['newid'])) {
|
||||
$group_member['contact-id'] = $contact['newid'];
|
||||
$import++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($import==2) {
|
||||
$r = db_import_assoc('group_member', $group_member);
|
||||
if ($r===false) {
|
||||
logger("uimport:insert group member ".$group_member['id']." : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
foreach($account['photo'] as &$photo) {
|
||||
$photo['uid'] = $newuid;
|
||||
$photo['data'] = hex2bin($photo['data']);
|
||||
|
||||
$p = new Photo($photo['data'], $photo['type']);
|
||||
$r = $p->store(
|
||||
$photo['uid'],
|
||||
$photo['contact-id'], //0
|
||||
$photo['resource-id'],
|
||||
$photo['filename'],
|
||||
$photo['album'],
|
||||
$photo['scale'],
|
||||
$photo['profile'], //1
|
||||
$photo['allow_cid'],
|
||||
$photo['allow_gid'],
|
||||
$photo['deny_cid'],
|
||||
$photo['deny_gid']
|
||||
);
|
||||
|
||||
if ($r===false) {
|
||||
logger("uimport:insert photo ".$photo['resource-id'].",". $photo['scale']. " : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
foreach($account['pconfig'] as &$pconfig) {
|
||||
$pconfig['uid'] = $newuid;
|
||||
$r = db_import_assoc('pconfig', $pconfig);
|
||||
if ($r===false) {
|
||||
logger("uimport:insert pconfig ".$pconfig['id']. " : ERROR : ".last_error(), LOGGER_NORMAL);
|
||||
}
|
||||
}
|
||||
|
||||
// send relocate messages
|
||||
proc_run('php', 'include/notifier.php', 'relocate' , $newuid);
|
||||
|
||||
info(t("Done. You can now login with your username and password"));
|
||||
goaway( $a->get_baseurl() ."/login");
|
||||
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue