about summary refs log tree commit diff stats
path: root/update/library/trunk/instadisc.php
blob: e5168b133e4100cd9b84e49a4416d6c4f4116813 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php

/* InstaDisc Update - A Four Island Project */

include('xmlrpc/xmlrpc.inc');

$idusUsername = ''; // Set this to the username you've registered
$idusPassword = ''; // Set this to the password you've registered
$idusCentralServer = ''; // Set this to the Central Server you've signed up with
$idusSubscriptionURI = ''; // Set this to your unique URI
$idusSubscriptionTitle = ''; // Set this to your Subscription's title
$idusSubscriptionCategory = ''; // Set this to the category your subscription uses
$idusEncryptionPassword = ''; // If creating a password-protected subscription, enter your password here

function instaDisc_sendItem($title, $author, $url, $semantics)
{
	global $idusUsername, $idusPassword, $idusCentralServer, $idusSubscriptionURI;
	$verID = rand(1,65536);

	$client = new xmlrpc_client($idusCentralServer);
	$msg = new xmlrpcmsg("InstaDisc.sendFromUpdate", array(	new xmlrpcval($idusUsername, 'string'),
								new xmlrpcval(md5($idusUsername . ":" . md5($idusPassword) . ":" . $verID), 'string'),
								new xmlrpcval($verID, 'int'),
								new xmlrpcval($idusSubscriptionURI, 'string'),
								new xmlrpcval($title, 'string'),
								new xmlrpcval($author, 'string'),
								new xmlrpcval($url, 'string'),
								new xmlrpcval(serialize($semantics), 'string')));
	$client->send($msg);
}

function instaDisc_sendEncrypted($title, $author, $url, $semantics)
{
	$cipher = "rijndael-128";
	$mode = "cbc";
	$iv = "fedcba9876543210";

	$td = mcrypt_module_open($cipher, "", $mode, $iv);
	mcrypt_generic_init($td, $idusEncryptionPassword, $iv);
	$title = bin2hex(mcrypt_generic($td, $title));
	$author = bin2hex(mcrypt_generic($td, $author));
	$url = bin2hex(mcrypt_generic($td, $url));
	foreach ($semantics as $name => $value)
	{
		$semantics[$name] = bin2hex(mcrypt_generic($td, $value));
	}

	mcrypt_generic_deinit($td);
	mcrypt_module_close($td);

	instaDisc_sendItem($title, $author, $url, $semantics);
}

?>