root/releases/0.1.2a/units/friends/generate_foaf.php

Revision 2, 2.7 kB (checked in by sven, 3 years ago)

importing elgg-0.1.1a

Line 
1 <?php
2
3     $user_id = (int) $parameter;
4     
5     $user = db_query("select * from users where ident = $user_id");
6     
7     if (sizeof($user) > 0) {
8
9         $user = $user[0];
10         $url = url;
11         $personalurl = url . $user->username . "/";
12         $username = htmlentities(stripslashes($user->username));
13         $name = htmlentities(stripslashes($user->name));
14         $shamail = sha1("mailto:" . $user->email);
15         
16         if ($user->icon != -1) {
17             $icon = db_query("select * from icons where ident = " . $user->icon);
18             $icon = $icon[0];
19             $iconstring = "<foaf:depiction rdf:resource=\"". url . "_icons/data/".$icon->filename."\" />";
20         } else {
21             $iconstring = "";
22         }
23         
24         $run_result .= <<< END
25 <rdf:RDF
26       xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
27       xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
28       xmlns:foaf="http://xmlns.com/foaf/0.1/"
29       xmlns:admin="http://webns.net/mvcb/">
30     <foaf:PersonalProfileDocument rdf:about="">
31       <foaf:maker rdf:nodeID="elgg{$user->ident}"/>
32       <foaf:primaryTopic rdf:nodeID="elgg{$user->ident}"/>
33       <admin:generatorAgent rdf:resource="{$url}"/>
34       <admin:errorReportsTo rdf:resource="ben@elgg.net"/>
35     </foaf:PersonalProfileDocument>
36     <foaf:Person rdf:nodeID="elgg{$user->ident}">
37         <foaf:nick>{$username}</foaf:nick>
38         <foaf:name>{$name}</foaf:name>
39         <foaf:mbox_sha1sum>{$shamail}</foaf:mbox_sha1sum>
40         <foaf:homepage rdf:resource="{$personalurl}"/>
41         {$iconstring}
42 END;
43
44         $friends = db_query("select users.* from friends left join users on users.ident = friends.friend where friends.owner = " . $user->ident);
45         if (sizeof($friends) > 0) {
46             foreach($friends as $friend) {
47                 $name = htmlentities(stripslashes($friend->name));
48                 $email = htmlentities(sha1("mailto:" . $friend->email));
49                 $username = htmlentities(stripslashes($friend->username));
50                 $personalurl = url . $username . "/";
51                 $foafurl = $personalurl . "foaf/";
52                 if ($friend->icon != -1) {
53                     $icon = db_query("select * from icons where ident = " . $friend->icon);
54                     $icon = $icon[0];
55                     $iconstring = "<foaf:depiction rdf:resource=\"". url . "_icons/data/".$icon->filename."\" />";
56                 } else {
57                     $iconstring = "";
58                 }
59                 $extras = run("foaf:knows:elements", $friend->ident);
60                 $run_result .= <<< END
61
62         <foaf:knows>
63             <foaf:Person>
64                 <foaf:nick>{$username}</foaf:nick>
65                 <foaf:name>{$name}</foaf:name>
66                 <foaf:mbox_sha1sum>{$email}</foaf:mbox_sha1sum>
67                 <foaf:homepage rdf:resource="{$personalurl}"/>
68                 <rdfs:seeAlso rdf:resource="{$foafurl}"/>
69                 {$iconstring}
70                 {$extras}
71             </foaf:Person>
72         </foaf:knows>
73 END;
74             }
75         }
76
77         $run_result .= run("foaf:elements",$user_id);
78         $run_result .= <<< END
79     
80     </foaf:Person>
81 </rdf:RDF>
82
83 END;
84
85     }
86
87 ?>
Note: See TracBrowser for help on using the browser.