more groundwork for channel import

This commit is contained in:
friendica
2013-02-14 17:39:16 -08:00
parent d6db8513e8
commit 9784536ff9
3 changed files with 71 additions and 25 deletions

View File

@@ -7,7 +7,8 @@
function import_post(&$a) {
$sieze = ((x($_REQUEST,'make_primary')) ? intval($_REQUEST['make_primary']) : 0);
$data = null;
$seize = ((x($_REQUEST,'make_primary')) ? intval($_REQUEST['make_primary']) : 0);
$src = $_FILES['userfile']['tmp_name'];
$filename = basename($_FILES['userfile']['name']);
@@ -15,10 +16,10 @@ function import_post(&$a) {
$filetype = $_FILES['userfile']['type'];
if(($src) && (! $filesize)) {
logger('mod_import: empty file.');
notice( t('Imported file is empty.') . EOL);
return;
if($src) {
if($filesize) {
$data = @file_get_contents($src);
}
}
if(! $src) {
@@ -29,13 +30,39 @@ function import_post(&$a) {
return;
}
// Connect to API of old server with credentials given and suck in the data we need
$email = ((x($_REQUEST,'email')) ? $_REQUEST['email'] : '');
$password = ((x($_REQUEST,'password')) ? $_REQUEST['password'] : '');
$channelname = substr($old_address,0,strpos($old_address,'@'));
$servername = substr($old_address,strpos($old_address,'@')+1);
$scheme = 'https://';
$api_path = '/api/export/basic?f=&channel=' . $channelname;
$binary = false;
$redirects = 0;
$opts = array('http_auth' => $email . ':' . $password);
$url = $scheme . $servername . $api_path;
$ret = z_fetch_url($url, $binary, $redirects, $opts);
if(! $ret['success'])
$ret = z_fetch_url('http://' . $servername . $api_path, $binary, $redirects, $opts);
if($ret['success'])
$data = $ret['body'];
else
notice( t('Unable to download data from old server') . EOL);
}
if(! $data) {
logger('mod_import: empty file.');
notice( t('Imported file is empty.') . EOL);
return;
}
// logger('import: data: ' . print_r($data,true));
// print_r($data);
// import channel
// import contacts
@@ -44,7 +71,7 @@ function import_post(&$a) {
if($sieze) {
if($seize) {
// notify old server that it is no longer primary.
}
@@ -55,10 +82,25 @@ function import_post(&$a) {
}
function import_content(&$a) {
/*
* Pass in a channel name and desired channel_address
* Check this for validity and duplication
* The page template should have a place to change it and check again
*/
$o .= <<< EOT
<form action="import" method="post" >
Old Address <input type="text" name="old_address" /><br />
Login <input type="text" name="email" /><br />
Password <input type="password" name="password" /><br />
<input type="submit" name="submit" value="submit" />
</form>
EOT;
return $o;
}