summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-05-09 20:43:07 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-05-09 20:43:07 +0000
commitb10e6e6448c4c4697c6fa3afd20a6b3f4c23155b (patch)
tree7ed82f2eb47dd417695942a16ea7ebc32a33567e
parentf7448ba2d65171abad4ee4c4f9c2d6d99ecd30e6 (diff)
downloadxxv-b10e6e6448c4c4697c6fa3afd20a6b3f4c23155b.tar.gz
xxv-b10e6e6448c4c4697c6fa3afd20a6b3f4c23155b.tar.bz2
* SHARE: Submit event data delayed and transmit data as block
* SHARE: use persist random id * UTF-8: Reorder defines * UTF-8: Replace 'SET NAMES' with 'set character set' * alist: Move generation of channels name from template to perl code * skins: header add generator meta-tag with version * RECORDS: Replace character by Hexnibble * HTTPD: Speedup lookup find skins * HTTPD: Build options for start page delayed, avoid wrong UTF8 translation * CHRONICLE: add cgi-parameter start/limit for paging query * EPG: now: add cgi-parameter __cgrp=all to get all data * CHRONICLE: Add message to console by delete entry * OUTPUT/Ajax: optimize callback 'questions'
-rw-r--r--contrib/popularity/t10.php66
-rw-r--r--contrib/popularity/test.pl39
2 files changed, 91 insertions, 14 deletions
diff --git a/contrib/popularity/t10.php b/contrib/popularity/t10.php
index 2fb5066..61f432e 100644
--- a/contrib/popularity/t10.php
+++ b/contrib/popularity/t10.php
@@ -150,11 +150,75 @@ function setEventLevel($k,$e,$l,$s) {
$database->setQuery( $query );
if (!$database->query()) {
die($database->stderr(true));
- return 1;
+ return 0;
}
return 1;
}
+
+
+////////////////////////////////////////////////////////////////////////////////
+// Register the method to expose
+$server->register('setEventArray', // method name
+ array('k' => 'xsd:string', // user key
+// 'u' => 'tns:u'
+ ),
+ array('return' => 'xsd:int'), // output parameters
+ 'urn:t10', // namespace
+ 'urn:t10#setEventArray', // soapaction
+ 'rpc', // style
+ 'encoded', // use
+ 'Set a level to event.' // documentation
+);
+// Set a level to event.
+function setEventArray($k,$u) {
+
+ $c = count($u);
+ if($c <= 0 || $c > 25) {
+ return -1;
+ }
+
+ $database = opendatabase();
+ for ( $i = 0; $i < $c; $i += 1) {
+ if( count($u[$i]) != 3) {
+ return -2;
+ }
+ $e = (int)$u[$i][0];
+ $l = (int)$u[$i][1];
+ $s = (int)$u[$i][2];
+
+ if($e <= 0) {
+ return -3;
+ }
+
+ if($l <= 0) {
+ return -4;
+ } else {
+ if($l >= 10) {
+ return -5;
+ }
+ }
+
+ if($s <= 0) {
+ return -6;
+ }
+
+ $query = "REPLACE INTO #__popularity"
+ . " (user, id, level, stoptime)"
+ . " VALUES ( " . $database->Quote( $k ) . ", "
+ . $e . ", "
+ . $l . ", "
+ . " FROM_UNIXTIME( " . $s . " )"
+ . " )"
+ ;
+ $database->setQuery( $query );
+ if (!$database->query()) {
+ die($database->stderr(true));
+ return 0;
+ }
+ }
+ return 1;
+}
////////////////////////////////////////////////////////////////////////////////
// Register the method to expose
$server->register('deleteEvent', // method name
diff --git a/contrib/popularity/test.pl b/contrib/popularity/test.pl
index c43f8f1..5b7e4ed 100644
--- a/contrib/popularity/test.pl
+++ b/contrib/popularity/test.pl
@@ -1,45 +1,58 @@
-#!perl -w
+#!/usr/bin/perl -w
-use SOAP::Lite;# +trace => qw( debug );
+use SOAP::Lite +trace => qw( debug );
use Data::Dumper;
my $client = SOAP::Lite->new;
$client->schema->useragent->agent("xxv 1.0");
my $service = $client->service('http://localhost/t10.php?wsdl');
+print "## getUsrKey ##########################################################\n";
+my $myuserkey = $service->getUsrKey('myuserkey');
+print Dumper($myuserkey);
+
my $result;
print "## getServerTime ######################################################\n";
-$result = $service->getServerTime();
+$result = $service->getServerTime($myuserkey);
print Dumper($result);
-print "## getUsrKey ##########################################################\n";
-$result = $service->getUsrKey('myuserkey');
-print Dumper($result);
print "## setEventLevel ######################################################\n";
-$result = $service->setEventLevel("myuserkey1",1253535,5,time+3600);
+$result = $service->setEventLevel($myuserkey,1253535,5,time+3600);
print Dumper($result);
print "## setEventLevel ######################################################\n";
-$result = $service->setEventLevel("myuserkey2",1253535,3,time+3600);
+$result = $service->setEventLevel($myuserkey,1253535,3,time+3600);
print Dumper($result);
print "## setEventLevel ######################################################\n";
-$result = $service->setEventLevel("myuserkey3",1253535,3,time+3600);
+$result = $service->setEventLevel($myuserkey,1253535,3,time+3600);
print Dumper($result);
print "## setEventLevel ######################################################\n";
-$result = $service->setEventLevel("myuserkey4",1253532,3,time+3600);
+$result = $service->setEventLevel($myuserkey,1253532,3,time+3600);
+print Dumper($result);
+
+my @array = [
+ [1253535,5,time+3600],
+ [1253535,3,time+3600],
+ [1253535,3,time+3600],
+ [1253535,3,time+3600],
+ [1253535,5,time+3600]
+];
+print "## setEventArray ######################################################\n";
+
+$result = $service->setEventArray($myuserkey, @array);
print Dumper($result);
print "## getEventLevel ######################################################\n";
-$result = $service->getEventLevel("myuserkey4",1253535);
+$result = $service->getEventLevel($myuserkey,1253535);
print Dumper($result);
print "## getEventLevels #####################################################\n";
-$result = $service->getEventLevels("myuserkey4",);
+$result = $service->getEventLevels($myuserkey,10);
print Dumper($result);
print "## getTopTen ##########################################################\n";
-$result = $service->getTopTen("myuserkey4",20);
+$result = $service->getTopTen($myuserkey,20);
print Dumper($result);