Public feed
#602757
<?php
/**
*
*
* Administration System
*
* @package Xaraya eXtensible Management System
* @copyright (C) 2002 by the Xaraya Development Team.
* @link http://www.xaraya.com
*
* @subpackage labcontest module
* @author Chad Kraeft <cdavidkraeft@miragelab.com>
*/
function labcontest_adminapi_geteligible($args)
{
extract($args);
if (!isset($numitems) || !is_numeric($numitems)) {
$numitems = -1;
}
$itemsperpage = xarModGetVar('labcontest','itemsperpage');
$dbconn =& xarDBGetConn();
$xartable = xarDBGetTables();
$contestants_table = $xartable['labcontest_contestants'];
$roles_table = $xartable['roles'];
$sql = "SELECT a.xar_contestantid,
a.xar_userid,
a.xar_entrydate,
b.xar_name,
b.xar_uname,
b.xar_email,
FLOOR(10000000000 * RAND() )
FROM $contestants_table a, $roles_table b
WHERE b.xar_uid = a.xar_userid
AND b.xar_state = 3
AND a.xar_contestid = 1"; // $contestid";
$whereclause = array();
if(isset($owneruid) && $owneruid > 0) {
$whereclause[] = "owneruid=".$owneruid;
}
if (!empty($parentid)) {
$whereclause[] = "parentid=".$parentid;
}
if(count($whereclause) > 0) $sql .= " WHERE ".implode(" AND ", $whereclause);
$result = $dbconn->SelectLimit($sql, -1, 0);
if ($dbconn->ErrorNo() != 0) {
$msg = xarML('DATABASE_ERROR'. $sql);
xarErrorSet(XAR_SYSTEM_EXCEPTION, 'DATABASE_ERROR: ',
new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
return;
}
$userinfo = array();
$useridlist = array();
for (; !$result->EOF; $result->MoveNext()) {
list($contestantid,
$userid,
$entrydate,
$displayname,
$username,
$email,
$randomid) = $result->fields;
if(xarIsParent('Users', $username)) {
$useridlist[] = $userid;
$userinfo[$userid] = array('contestantid' => $contestantid,
'userid' => $userid,
'entrydate' => $entrydate,
'displayname' => $displayname,
'username' => $username,
'email' => $email,
'randomid' => $randomid);
}
/*
$moredata = xarModAPIFunc('dynamicdata','user','getitems',
array('module' => 'roles',
'itemtype' => 0,
'itemids' => $userid,
'join' => "xar_roles",
'getobject' => 1)); // get back the object list
$items[] = array_merge($userinfo, $moredata->items);
*/
}
$moredata = array();
if(count($useridlist) > 0) {
$moredata_object = xarModAPIFunc('dynamicdata','user','getitems',
array('module' => 'roles',
'itemtype' => 0,
'itemids' => $useridlist,
'join' => "xar_roles",
'getobject' => 1)); // get back the object list
$moredata = $moredata_object->items;
}
$items = array();
foreach($moredata as $extendedinfo) {
$valid = true;
foreach($filters as $filter) {
switch($filter['filtertype']) {
case "notempty":
if(empty($extendedinfo[$filter['field']])) $valid = false;
break;
case "eq":
if($extendedinfo[$filter['field']] != $filter['q']) $valid = false;
break;
case "ne":
if($extendedinfo[$filter['field']] == $filter['q']) $valid = false;
break;
case "ge":
if($extendedinfo[$filter['field']] < $filter['q']) $valid = false;
break;
case "lt":
if($extendedinfo[$filter['field']] >= $filter['q']) $valid = false;
break;
}
}
$userid = $extendedinfo['uid'];
$randomid = (int)$userinfo[$userid]['randomid'];
$iteminfo = array_merge($userinfo[$userid], $extendedinfo);
if($valid) $items[$randomid] = $iteminfo;
}
$result->Close();
return $items;
}
?>