summaryrefslogtreecommitdiff
path: root/contrib/popularity/t10.php
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-01-26 17:53:19 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-01-26 17:53:19 +0000
commit49baade6e8a2f26a88a2f2c6a5faac33293b1111 (patch)
tree4d34e7201029bf587791e3830dbba28227db9562 /contrib/popularity/t10.php
parentfb02e00134f2168cff914aad91308bc59b150dd2 (diff)
downloadxxv-49baade6e8a2f26a88a2f2c6a5faac33293b1111.tar.gz
xxv-49baade6e8a2f26a88a2f2c6a5faac33293b1111.tar.bz2
* Update to nusoap 0.7.3
* Enhance memory limit to 16M
Diffstat (limited to 'contrib/popularity/t10.php')
-rw-r--r--contrib/popularity/t10.php449
1 files changed, 224 insertions, 225 deletions
diff --git a/contrib/popularity/t10.php b/contrib/popularity/t10.php
index cf13983..fbce645 100644
--- a/contrib/popularity/t10.php
+++ b/contrib/popularity/t10.php
@@ -14,6 +14,8 @@
// Set flag that this is a parent file
define( '_VALID_MOS', 1 );
+ini_set("memory_limit", "16M") ;
+
// Pull in the NuSOAP code
require_once('popularity/nusoap.php');
@@ -45,159 +47,159 @@ function opendatabase() {
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
$server->register('getUsrKey', // method name
- array('k' => 'xsd:string'), // user key
- array('return' => 'xsd:string'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#getUsrKey', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'A connection test for clients.' // documentation
+ array('k' => 'xsd:string'), // user key
+ array('return' => 'xsd:string'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#getUsrKey', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'A connection test for clients.' // documentation
);
// A connection test for clients.
function getUsrKey($k) {
- $usrkey = $k;
- return $usrkey;
+ $usrkey = $k;
+ return $usrkey;
}
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
-$server->register('getServerTime', // method name
- array('k' => 'xsd:string'), // user key
- array('return' => 'xsd:int'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#getServerTime', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'Return the time from server.' // documentation
+$server->register('getServerTime', // method name
+ array('k' => 'xsd:string'), // user key
+ array('return' => 'xsd:int'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#getServerTime', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Return the time from server.' // documentation
);
// Return the time from server
function getServerTime($k) {
- $database = opendatabase();
+ $database = opendatabase();
- $query = "SELECT UNIX_TIMESTAMP(NOW())";
- $database->setQuery( $query );
- $servertime = $database->loadResult();
+ $query = "SELECT UNIX_TIMESTAMP(NOW())";
+ $database->setQuery( $query );
+ $servertime = $database->loadResult();
- return $servertime;
+ return $servertime;
}
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
-$server->register('getEventLevel', // method name
- array('k' => 'xsd:string', // user key
- 'e' => 'xsd:int'), // eventid
- array('return' => 'xsd:float'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#getEventLevel', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'Return the average level from event.' // documentation
+$server->register('getEventLevel', // method name
+ array('k' => 'xsd:string', // user key
+ 'e' => 'xsd:int'), // eventid
+ array('return' => 'xsd:float'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#getEventLevel', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Return the average level from event.' // documentation
);
// Return the average level from Event
function getEventLevel($k,$e) {
- $database = opendatabase();
+ $database = opendatabase();
- $query = "SELECT AVG(level)"
- . " FROM #__popularity"
- . " WHERE id = " . $database->Quote( (int) $e )
- ;
- $database->setQuery( $query );
- $average = $database->loadResult();
+ $query = "SELECT AVG(level)"
+ . " FROM #__popularity"
+ . " WHERE id = " . $database->Quote( (int) $e )
+ ;
+ $database->setQuery( $query );
+ $average = $database->loadResult();
- return $average;
+ return $average;
}
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
$server->register('setEventLevel', // method name
- array('k' => 'xsd:string', // user key
- 'e' => 'xsd:int', // eventid
- 'l' => 'xsd:int', // level
- 's' => 'xsd:int'), // stoptime
- array('return' => 'xsd:int'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#setEventLevel', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'Set a level to event.' // documentation
+ array('k' => 'xsd:string', // user key
+ 'e' => 'xsd:int', // eventid
+ 'l' => 'xsd:int', // level
+ 's' => 'xsd:int'), // stoptime
+ array('return' => 'xsd:int'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#setEventLevel', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Set a level to event.' // documentation
);
// Set a level to event.
function setEventLevel($k,$e,$l,$s) {
- if((int)$l <= 0) {
- $l = 0;
- } else {
- if((int)$l >= 10) {
- $l = 10;
- }
+ if((int)$l <= 0) {
+ $l = 0;
+ } else {
+ if((int)$l >= 10) {
+ $l = 10;
}
+ }
- $database = opendatabase();
-
- $query = "REPLACE INTO #__popularity"
- . " (user, id, level, stoptime)"
- . " VALUES ( " . $database->Quote( $k ) . ", "
- . (int)$e . ", "
- . (int)$l . ", "
- . " FROM_UNIXTIME( " . (int)$s . " )"
- . " )"
- ;
- $database->setQuery( $query );
- if (!$database->query()) {
- die($database->stderr(true));
- return 1;
- }
+ $database = opendatabase();
+
+ $query = "REPLACE INTO #__popularity"
+ . " (user, id, level, stoptime)"
+ . " VALUES ( " . $database->Quote( $k ) . ", "
+ . (int)$e . ", "
+ . (int)$l . ", "
+ . " FROM_UNIXTIME( " . (int)$s . " )"
+ . " )"
+ ;
+ $database->setQuery( $query );
+ if (!$database->query()) {
+ die($database->stderr(true));
return 1;
+ }
+ return 1;
}
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
-$server->register('deleteEvent', // method name
- array('k' => 'xsd:string', // user key
- 'e' => 'xsd:int'), // eventid
- array('return' => 'xsd:int'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#deleteEvent', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'Delete an event from database.' // documentation
+$server->register('deleteEvent', // method name
+ array('k' => 'xsd:string', // user key
+ 'e' => 'xsd:int'), // eventid
+ array('return' => 'xsd:int'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#deleteEvent', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Delete an event from database.' // documentation
);
// Delete an event from database.
function deleteEvent($k,$e) {
- $database = opendatabase();
+ $database = opendatabase();
- $query = "DELETE"
- . " FROM #__popularity"
- . " WHERE id = " . $database->Quote( (int) $e )
- . " AND user = " . $database->Quote( $k )
- ;
- $database->setQuery( $query );
- if (!$database->query()) {
- die($database->stderr(true));
- return 0;
- }
+ $query = "DELETE"
+ . " FROM #__popularity"
+ . " WHERE id = " . $database->Quote( (int) $e )
+ . " AND user = " . $database->Quote( $k )
+ ;
+ $database->setQuery( $query );
+ if (!$database->query()) {
+ die($database->stderr(true));
+ return 0;
+ }
- return 1;
+ return 1;
}
// Delete expired events from selected database.
function expired($database) {
- $query = "DELETE"
- . " FROM #__popularity"
- . " WHERE stoptime < NOW()"
- ;
- $database->setQuery( $query );
- if (!$database->query()) {
- die($database->stderr(true));
- return 0;
- }
+ $query = "DELETE"
+ . " FROM #__popularity"
+ . " WHERE stoptime < NOW()"
+ ;
+ $database->setQuery( $query );
+ if (!$database->query()) {
+ die($database->stderr(true));
+ return 0;
+ }
- return 1;
+ return 1;
}
/*////////////////////////////////////////////////////////////////////////////////
@@ -222,28 +224,28 @@ function clear($k) {
////////////////////////////////////////////////////////////////////////////////
$server->wsdl->addComplexType(
- 'v', //EventLevel
- 'complexType',
- 'struct',
- 'all',
- '',
- array(
- 'e' => array('name'=>'e','type'=>'xsd:int'), // eventid
- 'l' => array('name'=>'l','type'=>'xsd:float') // level
- )
+ 'v', //EventLevel
+ 'complexType',
+ 'struct',
+ 'all',
+ '',
+ array(
+ 'e' => array('name'=>'e','type'=>'xsd:int'), // eventid
+ 'l' => array('name'=>'l','type'=>'xsd:float') // level
+ )
);
$server->wsdl->addComplexType(
- 'a', //EventLevelArray
- 'complexType',
- 'array',
- '',
- 'SOAP-ENC:Array',
- array(),
- array(
- array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:v[]')
- ),
- 'tns:v'
+ 'a', //EventLevelArray
+ 'complexType',
+ 'array',
+ '',
+ 'SOAP-ENC:Array',
+ array(),
+ array(
+ array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:v[]')
+ ),
+ 'tns:v'
);
// Register the method to expose
@@ -259,109 +261,106 @@ $server->register('getEventLevels', // method name
// Return the average Levels from Events.
function getEventLevels($k) {
- $database = opendatabase();
+ $database = opendatabase();
- if(!expired($database)) {
- return 0;
- }
+ if(!expired($database)) {
+ return 0;
+ }
- $query = "SELECT id, AVG(level) as level"
- . " FROM #__popularity"
- . " GROUP BY id"
- ;
- $database->setQuery( $query );
- $rows = $database->loadObjectList();
- if(empty($rows)) {
- return 0;
- }
-
- $result = array();
- foreach ($rows as $row) {
- $result[] = array(
- 'e' => $row->id,
- 'l' => $row->level
- );
- }
- return $result;
+ $result = array();
+ $query = "SELECT id, AVG(level) as level"
+ . " FROM #__popularity"
+ . " GROUP BY id"
+ ;
+ $database->setQuery( $query );
+ $rows = $database->loadObjectList();
+ if(!empty($rows)) {
+ foreach ($rows as $row) {
+ $result[] = array(
+ 'e' => $row->id,
+ 'l' => $row->level
+ );
+ }
+ }
+ return $result;
}
////////////////////////////////////////////////////////////////////////////////
$server->wsdl->addComplexType(
- 't', //topten
- 'complexType',
- 'struct',
- 'all',
- '',
- array(
- 'e' => array('name'=>'e','type'=>'xsd:int'), // eventid
- 'l' => array('name'=>'l','type'=>'xsd:float'), // level
- 'c' => array('name'=>'c','type'=>'xsd:int'), // count
- 'r' => array('name'=>'r','type'=>'xsd:float') // rank
- )
+ 't', //topten
+ 'complexType',
+ 'struct',
+ 'all',
+ '',
+ array(
+ 'e' => array('name'=>'e','type'=>'xsd:int'), // eventid
+ 'l' => array('name'=>'l','type'=>'xsd:float'), // level
+ 'c' => array('name'=>'c','type'=>'xsd:int'), // count
+ 'r' => array('name'=>'r','type'=>'xsd:float') // rank
+ )
);
$server->wsdl->addComplexType(
- 'b',
- 'complexType',
- 'array',
- '',
- 'SOAP-ENC:Array',
- array(),
- array(
- array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:t[]')
- ),
- 'tns:t'
+ 'b',
+ 'complexType',
+ 'array',
+ '',
+ 'SOAP-ENC:Array',
+ array(),
+ array(
+ array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:t[]')
+ ),
+ 'tns:t'
);
// Register the method to expose
$server->register('getTopTen', // method name
- array('k' => 'xsd:string', // user key
- 'l' => 'xsd:int'), // level
- array('return' => 'tns:b'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#getTopTen', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'Return the topten list.' // documentation
+ array('k' => 'xsd:string', // user key
+ 'l' => 'xsd:int'), // level
+ array('return' => 'tns:b'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#getTopTen', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Return the topten list.' // documentation
);
// Return the topten list.
function getTopTen($k,$l) {
- $database = opendatabase();
+ $database = opendatabase();
- if(!expired($database)) {
- return 0;
- }
+ if(!expired($database)) {
+ return 0;
+ }
- if((int)$l <= 1) {
- $l = 1;
- }
- if((int)$l >= 1000) {
- $l = 1000;
- }
+ if((int)$l <= 1) {
+ $l = 1;
+ }
+ if((int)$l >= 1000) {
+ $l = 1000;
+ }
- $query = "SELECT id, AVG(level) as l, COUNT(*) as c, AVG(level)*COUNT(*) as r"
- . " FROM #__popularity"
- . " GROUP BY id ORDER by r DESC LIMIT " . (int) $l
- ;
- $database->setQuery( $query );
- $rows = $database->loadObjectList();
- if(empty($rows)) {
- return 0;
- }
-
- $result = array();
- foreach ($rows as $row) {
- $result[] = array(
- 'e' => $row->id,
- 'l' => $row->l,
- 'c' => $row->c,
- 'r' => $row->r
- );
- }
- return $result;
+ $result = array();
+ $query = "SELECT id as i, AVG(level) as l, COUNT(*) as c, AVG(level)*COUNT(*) as r"
+ . " FROM #__popularity"
+ . " GROUP BY id ORDER by r DESC"
+ ;
+
+ $database->setQuery( $query, 0 , (int) $l);
+ $rows = $database->loadObjectList();
+ if(!empty($rows)) {
+ foreach ($rows as $row) {
+ $result[] = array(
+ 'e' => $row->i,
+ 'l' => $row->l,
+ 'c' => $row->c,
+ 'r' => $row->r
+ );
+ }
+ }
+ return $result;
}
@@ -369,34 +368,34 @@ function getTopTen($k,$l) {
// Register the method to expose
/*
$server->register('createtable', // method name
- array('k' => 'xsd:string'), // user key
- array('return' => 'xsd:int'), // output parameters
- 'urn:t10', // namespace
- 'urn:t10#createtable', // soapaction
- 'rpc', // style
- 'encoded', // use
- 'create table into database.' // documentation
+ array('k' => 'xsd:string'), // user key
+ array('return' => 'xsd:int'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#createtable', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'create table into database.' // documentation
);
// Delete an event from database.
function createtable($k) {
- $database = opendatabase();
-
- $query = "CREATE TABLE IF NOT EXISTS #__popularity ("
- . " user varchar(16) NOT NULL default '',"
- . " id int unsigned NOT NULL default '0',"
- . " level int default NULL,"
- . " stoptime datetime NOT NULL,"
- . " UNIQUE KEY `event` (`user`,`id`)"
- . " )"
- ;
- $database->setQuery( $query );
- if (!$database->query()) {
- die($database->stderr(true));
- return 0;
- }
-
- return 1;
+ $database = opendatabase();
+
+ $query = "CREATE TABLE IF NOT EXISTS #__popularity ("
+ . " user varchar(16) NOT NULL default '',"
+ . " id int unsigned NOT NULL default '0',"
+ . " level int default NULL,"
+ . " stoptime datetime NOT NULL,"
+ . " UNIQUE KEY `event` (`user`,`id`)"
+ . " )"
+ ;
+ $database->setQuery( $query );
+ if (!$database->query()) {
+ die($database->stderr(true));
+ return 0;
+ }
+
+ return 1;
}
*/
////////////////////////////////////////////////////////////////////////////////