+ function friendship_default()
+ {
+ return (array(usersnet_friend_getlabel(1) => "0",
+ usersnet_friend_getlabel(2) => "0",
+ usersnet_friend_getlabel(3) => "0",
+ usersnet_friend_getlabel(4) => "0",
+ usersnet_friend_getlabel(5) => "0"));
+ }
+
+ function usersnet_widefriend($owner, $target)
+ {
+ GLOBAL $G_dbpfx;
+
+ $widefriend = $this->friendship_default();
+
+ $wfri_sql = sprintf("SELECT * FROM %susersnet_widefriend WHERE owner = %d AND target = %d;",
+ $G_dbpfx, $owner, $target);
+ if (($wfri_pg = $this->query($wfri_sql)) == FALSE) {
+ return ($widefriend);
+ }
+
+ for ($i = 0 ; $i < pg_numrows($wfri_pg) ; $i++) {
+ $wfri_obj = pg_fetch_object($wfri_pg, $i);
+ $widefriend[usersnet_friend_getlabel(intval($wfri_obj->friend))] = $wfri_obj->count;
+ }
+
+ return ($widefriend);
+ }
+
+ function usersnet_wideskill($owner, $target)
+ {
+ GLOBAL $G_dbpfx;
+
+ $wideskill = "//";
+
+ $wskl_sql = sprintf("SELECT * FROM %susersnet_wideskill WHERE owner = %d AND target = %d;",
+ $G_dbpfx, $owner, $target);
+ if (($wskl_pg = $this->query($wskl_sql)) == FALSE) {
+ return ($wideskill);
+ }
+
+ if (pg_numrows($wskl_pg) > 0) {
+ $wskl_obj = pg_fetch_object($wskl_pg, 0);
+ // TODO: UNCOMMENT IF THE NETWORK WORKS VERY WELL
+ // if ($wskl_obj->count >= 3)
+ $wideskill = sprintf("%3.2f", $wskl_obj->skill);
+ }
+ return ($wideskill);
+ }
+
+ function usersnet_narrowfriend($owner, $target)
+ {
+ GLOBAL $G_dbpfx;
+
+ $narrowfriend = $this->friendship_default();
+
+ $nfri_sql = sprintf("SELECT * FROM %susersnet_narrowfriend WHERE owner = %d AND target = %d;",
+ $G_dbpfx, $owner, $target);
+ if (($nfri_pg = $this->query($nfri_sql)) == FALSE) {
+ return $narrowfriend;
+ }
+
+ for ($i = 0 ; $i < pg_numrows($nfri_pg) ; $i++) {
+ $nfri_obj = pg_fetch_object($nfri_pg, $i);
+ $narrowfriend[usersnet_friend_getlabel(intval($nfri_obj->friend))] = $nfri_obj->count;
+ }
+ return ($narrowfriend);
+ }
+
+ function usersnet_narrowskill($owner, $target)
+ {
+ GLOBAL $G_dbpfx;
+
+ $narrowskill = "//";
+
+ $nskl_sql = sprintf("SELECT * FROM %susersnet_narrowskill WHERE owner = %d AND target = %d;",
+ $G_dbpfx, $owner, $target);
+ if (($nskl_pg = $this->query($nskl_sql)) == FALSE) {
+ return ($narrowskill);
+ }
+
+ if (pg_numrows($nskl_pg) > 0) {
+ $nskl_obj = pg_fetch_object($nskl_pg, 0);
+ // TODO: UNCOMMENT IF THE NETWORK WORKS VERY WELL
+ // if ($nskl_obj->count >= 3)
+ $narrowskill = sprintf("%3.2f", $nskl_obj->skill);
+ }
+ return ($narrowskill);
+ }
+
+ function usersnet_partyskill($owner, $target)
+ {
+ GLOBAL $G_dbpfx;
+
+ $partyskill = "non disponibile";
+
+ $pskl_sql = sprintf("SELECT * FROM %susersnet_party WHERE owner = %d AND target = %d;",
+ $G_dbpfx, $owner, $target);
+ if (($pskl_pg = $this->query($pskl_sql)) == FALSE) {
+ return ($partyskill);
+ }
+
+ if (pg_numrows($pskl_pg) > 0) {
+ $pskl_obj = pg_fetch_object($pskl_pg, 0);
+ // TODO: UNCOMMENT IF THE NETWORK WORKS VERY WELL
+ // if ($wskl_obj->count >= 3)
+ $partyskill = sprintf("%3.2f", $pskl_obj->skill);
+ }
+ return ($partyskill);
+ }
+
+ function usersnet_bycode($owner, $target, $widefriend, $narrowfriend)