Beispiel #1
0
function xmlrpc_getLastUpdate($method_name, $params)
{
    $uid = array_pop($params);
    if (is_array($uid)) {
        return Planworld::getLastUpdate($uid);
    } else {
        if (is_string($uid) && Planworld::isUser($uid)) {
            return Planworld::getLastUpdate($uid);
        } else {
            return array('faultCode' => 800, 'faultString' => 'No such user');
        }
    }
}
Beispiel #2
0
#!/usr/local/bin/php -q
<?php 
/**
 * $Id: cache.php,v 1.7 2002/03/03 22:19:51 seth Exp $
 * XML-RPC cache: updates LastUpdate and LastLogin for all remote
 * users on planwatches.
 */
$_base = dirname(__FILE__) . '/../';
require_once $_base . 'config.php';
require_once $_base . 'lib/Planworld.php';
// display errors in a readable format (since this is run from cron)
ini_set('html_errors', 'off');
$dbh = Planworld::_connect();
$query = "SELECT DISTINCT users.username FROM planwatch, users WHERE planwatch.w_uid=users.id AND users.remote='Y'";
$result = $dbh->query($query);
$hosts = array();
while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
    list($user, $host) = split('@', $row['username']);
    if (!in_array($host, $hosts)) {
        $hosts[] = $host;
    }
    if (!isset(${$host})) {
        ${$host} = array();
    }
    array_push(${$host}, $user);
}
foreach ($hosts as $host) {
    Planworld::getLastUpdate(${$host}, $host);
    Planworld::getLastLogin(${$host}, $host);
}
Beispiel #3
0
 function getReferences(&$user, $order = 'd', $dir = 'd')
 {
     $dbh = Planworld::_connect();
     /* direction to sort */
     if ($dir == 'a') {
         $dir = 'ASC';
     } else {
         $dir = 'DESC';
     }
     /* attribute to sort by */
     switch ($order) {
         case 'l':
             $order = 'last_update';
             break;
         case 'u':
             $order = 'username';
             break;
         default:
             $order = 'referenced';
     }
     if (is_int($user)) {
         $query = "SELECT s_uid, referenced, username, last_update FROM snoop,users WHERE uid={$user} AND users.id=s_uid ORDER BY {$order} {$dir}";
     } else {
         if (is_string($user)) {
             $query = "SELECT s_uid, referenced, users.username, users.last_update FROM snoop,users,users as u2 WHERE uid=u2.id AND u2.username='******' AND users.id=s_uid ORDER BY {$order} {$dir}";
         } else {
             if (is_object($user)) {
                 $query = "SELECT s_uid, referenced, username, last_update FROM snoop,users WHERE uid=" . $user->getUserID() . " AND users.id=s_uid ORDER BY {$order} {$dir}";
             }
         }
     }
     /* execute the query */
     $result = $dbh->query($query);
     if (isset($result) && !DB::isError($result)) {
         $return = array();
         if (date('n-j') == '4-1') {
             /* April fool's easter egg */
             $uid = Planworld::getRandomUser();
             $return[] = array("userID" => $uid, "userName" => Planworld::idToName($uid), "date" => mktime(0, 0, 0, 4, 1, date('Y')), "lastUpdate" => Planworld::getLastUpdate($uid));
         }
         while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
             $return[] = array("userID" => (int) $row['s_uid'], "userName" => $row['username'], "date" => (int) $row['referenced'], "lastUpdate" => (int) $row['last_update']);
         }
         return $return;
     } else {
         return PLANWORLD_ERROR;
     }
 }